LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-9.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 38.7 % 10998 4255
Test Date: 2026-08-22 16:33:35 Functions: 61.1 % 90 55
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    119872625 : tree_bit_not_with_nop (tree t, tree *res_ops)
      11              : {
      12    119872625 :   const tree type = TREE_TYPE (t);
      13    119872625 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    119872625 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    119872625 :   switch (TREE_CODE (t))
      16              :     {
      17       159788 :     case BIT_NOT_EXPR:
      18       159788 :       {
      19       159788 :         tree _p0 = TREE_OPERAND (t, 0);
      20       159788 :         {
      21       159788 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      22       159788 :           {
      23       159788 :             res_ops[0] = captures[0];
      24       159788 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 2, __FILE__, __LINE__, false);
      25              :             return true;
      26              :           }
      27              :         }
      28     26004690 :         break;
      29              :       }
      30     26004690 :     CASE_CONVERT:
      31     26004690 :       {
      32     26004690 :         tree _p0 = TREE_OPERAND (t, 0);
      33     26004690 :         switch (TREE_CODE (_p0))
      34              :           {
      35         1173 :           case BIT_NOT_EXPR:
      36         1173 :             {
      37         1173 :               tree _q20 = TREE_OPERAND (_p0, 0);
      38         1173 :               {
      39         1173 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
      40         1173 :                 if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
      41              : )
      42              :                   {
      43          619 :                     {
      44          619 :                       res_ops[0] = captures[0];
      45          619 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 3, __FILE__, __LINE__, false);
      46    119872625 :                       return true;
      47              :                     }
      48              :                   }
      49              :               }
      50              :               break;
      51              :             }
      52              :           default:;
      53              :           }
      54              :         break;
      55              :       }
      56              :     default:;
      57              :     }
      58              :   return false;
      59              : }
      60              : 
      61              : bool
      62     93164939 : tree_with_known_nonzero_bits (tree t)
      63              : {
      64     93164939 :   const tree type = TREE_TYPE (t);
      65     93164939 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      66     93164939 :   if (TREE_SIDE_EFFECTS (t)) return false;
      67     87880178 :   switch (TREE_CODE (t))
      68              :     {
      69       277425 :     case BIT_IOR_EXPR:
      70       277425 :       {
      71       277425 :         tree _p0 = TREE_OPERAND (t, 0);
      72       277425 :         tree _p1 = TREE_OPERAND (t, 1);
      73       277425 :         if (tree_with_known_nonzero_bits_1 (_p0))
      74              :           {
      75       269752 :             {
      76       269752 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      77       269752 :               {
      78       269752 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 39, __FILE__, __LINE__, false);
      79              :                 return true;
      80              :               }
      81              :             }
      82              :           }
      83         7673 :         if (tree_with_known_nonzero_bits_1 (_p1))
      84              :           {
      85          189 :             {
      86          189 :               tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      87          189 :               {
      88          189 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 39, __FILE__, __LINE__, false);
      89              :                 return true;
      90              :               }
      91              :             }
      92              :           }
      93              :         break;
      94              :       }
      95     87610237 :     default:;
      96              :     }
      97     87610237 : if (tree_with_known_nonzero_bits_1 (t))
      98              :   {
      99     40559602 :     {
     100     40559602 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
     101     40559602 :       {
     102     40559602 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 40, __FILE__, __LINE__, false);
     103              :         return true;
     104              :       }
     105              :     }
     106              :   }
     107              :   return false;
     108              : }
     109              : 
     110              : tree
     111        72760 : generic_simplify_4 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     112              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     113              :  const enum tree_code ARG_UNUSED (op))
     114              : {
     115        72760 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     116        72760 :   {
     117        72760 :  bool wascmp0, wascmp1;
     118        72760 :       if (bitwise_inverted_equal_p (captures[1], captures[3], wascmp0)
     119         1221 :  && bitwise_inverted_equal_p (captures[0], captures[2], wascmp1)
     120        72764 :  && ((!wascmp0 && !wascmp1)
     121            0 :  || element_precision (type) == 1)
     122              : )
     123              :         {
     124            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail75;
     125            4 :           {
     126            4 :             tree res_op0;
     127            4 :             res_op0 = captures[0];
     128            4 :             tree res_op1;
     129            4 :             res_op1 = captures[3];
     130            4 :             tree _r;
     131            4 :             _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     132            4 :             if (TREE_SIDE_EFFECTS (captures[1]))
     133            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     134            4 :             if (TREE_SIDE_EFFECTS (captures[2]))
     135            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     136            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 52, __FILE__, __LINE__, true);
     137            4 :             return _r;
     138              :           }
     139            0 : next_after_fail75:;
     140              :         }
     141              :   }
     142        72756 :   return NULL_TREE;
     143              : }
     144              : 
     145              : tree
     146            1 : generic_simplify_15 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     147              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     148              : {
     149            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     150            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail89;
     151            1 :   {
     152            1 :     tree res_op0;
     153            1 :     res_op0 = captures[0];
     154            1 :     tree res_op1;
     155            1 :     res_op1 = captures[1];
     156            1 :     tree _r;
     157            1 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     158            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 64, __FILE__, __LINE__, true);
     159              :     return _r;
     160              :   }
     161            0 : next_after_fail89:;
     162            0 :   return NULL_TREE;
     163              : }
     164              : 
     165              : tree
     166          510 : generic_simplify_21 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     167              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     168              :  const enum tree_code ARG_UNUSED (op))
     169              : {
     170          510 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     171          510 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     172          510 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[4]))
     173         1020 :  && (wi::to_wide (captures[2]) & wi::to_wide (captures[5])) == 0
     174              : )
     175              :     {
     176          101 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail95;
     177          101 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail95;
     178          101 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail95;
     179          101 :       {
     180          101 :         tree res_op0;
     181          101 :         {
     182          101 :           tree _o1[1], _r1;
     183          101 :           _o1[0] = captures[0];
     184          101 :           if (TREE_TYPE (_o1[0]) != type)
     185              :             {
     186            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     187              :             }
     188              :           else
     189              :             _r1 = _o1[0];
     190          101 :           res_op0 = _r1;
     191              :         }
     192          101 :         tree res_op1;
     193          101 :         {
     194          101 :           tree _o1[1], _r1;
     195          101 :           _o1[0] = captures[3];
     196          101 :           if (TREE_TYPE (_o1[0]) != type)
     197              :             {
     198            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     199              :             }
     200              :           else
     201              :             _r1 = _o1[0];
     202          101 :           res_op1 = _r1;
     203              :         }
     204          101 :         tree _r;
     205          101 :         _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     206          101 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 70, __FILE__, __LINE__, true);
     207              :         return _r;
     208              :       }
     209          510 : next_after_fail95:;
     210              :     }
     211              :   return NULL_TREE;
     212              : }
     213              : 
     214              : tree
     215          599 : generic_simplify_32 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     216              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     217              :  const enum tree_code ARG_UNUSED (bitop))
     218              : {
     219          599 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     220          599 :   if (!CONSTANT_CLASS_P (captures[0])
     221              : )
     222              :     {
     223          599 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail106;
     224          599 :       {
     225          599 :         tree res_op0;
     226          599 :         res_op0 = captures[0];
     227          599 :         tree res_op1;
     228          599 :         {
     229          599 :           tree _o1[2], _r1;
     230          599 :           _o1[0] = captures[1];
     231          599 :           _o1[1] = captures[2];
     232          599 :           _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     233          599 :           if (EXPR_P (_r1))
     234            0 :             goto next_after_fail106;
     235          599 :           res_op1 = _r1;
     236              :         }
     237          599 :         tree _r;
     238          599 :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     239          599 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 80, __FILE__, __LINE__, true);
     240              :         return _r;
     241              :       }
     242          599 : next_after_fail106:;
     243              :     }
     244              :   else
     245              :     {
     246            0 :       {
     247            0 :  tree cst1 = const_binop (bitop, type, captures[0], captures[2]);
     248            0 :           if (cst1
     249              : )
     250              :             {
     251            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail107;
     252            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail107;
     253            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail107;
     254            0 :               {
     255            0 :                 tree res_op0;
     256            0 :                 res_op0 = captures[1];
     257            0 :                 tree res_op1;
     258            0 :                 res_op1 =  cst1;
     259            0 :                 tree _r;
     260            0 :                 _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     261            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 81, __FILE__, __LINE__, true);
     262              :                 return _r;
     263              :               }
     264          599 : next_after_fail107:;
     265              :             }
     266              :           else
     267              :             {
     268            0 :               {
     269            0 :  tree cst2 = const_binop (bitop, type, captures[1], captures[2]);
     270            0 :                   if (cst2
     271              : )
     272              :                     {
     273            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail108;
     274            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail108;
     275            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail108;
     276            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail108;
     277            0 :                       {
     278            0 :                         tree res_op0;
     279            0 :                         res_op0 = captures[0];
     280            0 :                         tree res_op1;
     281            0 :                         res_op1 =  cst2;
     282            0 :                         tree _r;
     283            0 :                         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     284            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 82, __FILE__, __LINE__, true);
     285              :                         return _r;
     286              :                       }
     287          599 : next_after_fail108:;
     288              :                     }
     289              :               }
     290              :             }
     291              :       }
     292              :     }
     293              :   return NULL_TREE;
     294              : }
     295              : 
     296              : tree
     297           64 : generic_simplify_46 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     298              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     299              :  const enum tree_code ARG_UNUSED (cmp),
     300              :  const enum tree_code ARG_UNUSED (icmp),
     301              :  const enum tree_code ARG_UNUSED (ncmp))
     302              : {
     303           64 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     304           64 :   {
     305           64 :  enum tree_code ic = invert_tree_comparison
     306           64 :  (cmp, HONOR_NANS (captures[0]));
     307           64 :       if (ic == icmp
     308              : )
     309              :         {
     310           64 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail123;
     311           64 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail123;
     312           64 :           {
     313           64 :             tree res_op0;
     314           64 :             res_op0 = captures[0];
     315           64 :             tree res_op1;
     316           64 :             res_op1 = captures[1];
     317           64 :             tree _r;
     318           64 :             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
     319           64 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 93, __FILE__, __LINE__, true);
     320              :             return _r;
     321              :           }
     322           64 : next_after_fail123:;
     323              :         }
     324              :       else
     325              :         {
     326            0 :           if (ic == ncmp
     327              : )
     328              :             {
     329            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail124;
     330            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail124;
     331            0 :               {
     332            0 :                 tree res_op0;
     333            0 :                 res_op0 = captures[0];
     334            0 :                 tree res_op1;
     335            0 :                 res_op1 = captures[1];
     336            0 :                 tree _r;
     337            0 :                 _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
     338            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 94, __FILE__, __LINE__, true);
     339              :                 return _r;
     340              :               }
     341           64 : next_after_fail124:;
     342              :             }
     343              :         }
     344              :   }
     345              :   return NULL_TREE;
     346              : }
     347              : 
     348              : tree
     349            3 : generic_simplify_61 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     350              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     351              : {
     352            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     353            0 :   if (ANY_INTEGRAL_TYPE_P (type)
     354            3 :  && !TYPE_OVERFLOW_SANITIZED (type)
     355              : )
     356              :     {
     357            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail141;
     358            2 :       {
     359            2 :         tree res_op0;
     360            2 :         res_op0 = unshare_expr (captures[0]);
     361            2 :         tree res_op1;
     362            2 :         {
     363            2 :           tree _o1[2], _r1;
     364            2 :           _o1[0] = captures[0];
     365            2 :           _o1[1] =  build_minus_one_cst (type);
     366            2 :           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     367            2 :           res_op1 = _r1;
     368              :         }
     369            2 :         tree _r;
     370            2 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     371            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 109, __FILE__, __LINE__, true);
     372              :         return _r;
     373              :       }
     374            0 : next_after_fail141:;
     375              :     }
     376              :   return NULL_TREE;
     377              : }
     378              : 
     379              : tree
     380          183 : generic_simplify_69 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     381              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     382              : {
     383          183 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     384          183 :   if (!TYPE_SATURATING (type)
     385              : )
     386              :     {
     387          183 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     388          366 :  && !FIXED_POINT_TYPE_P (type)
     389              : )
     390              :         {
     391          183 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail157;
     392          183 :           {
     393          183 :             tree res_op0;
     394          183 :             res_op0 = captures[2];
     395          183 :             tree res_op1;
     396          183 :             res_op1 = captures[1];
     397          183 :             tree _r;
     398          183 :             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     399          183 :             if (TREE_SIDE_EFFECTS (captures[0]))
     400            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     401          183 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 125, __FILE__, __LINE__, true);
     402              :             return _r;
     403              :           }
     404            0 : next_after_fail157:;
     405              :         }
     406              :     }
     407              :   return NULL_TREE;
     408              : }
     409              : 
     410              : tree
     411       425332 : generic_simplify_76 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     412              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     413              :  const enum tree_code ARG_UNUSED (plusminus))
     414              : {
     415       425332 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     416       425332 :   if (!TYPE_SATURATING (type)
     417       425332 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     418              : )
     419              :     {
     420       424790 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     421              : )
     422              :         {
     423           55 :           if ((!ANY_INTEGRAL_TYPE_P (type)
     424       424749 :  || TYPE_OVERFLOW_WRAPS (type)
     425        87809 :  || (INTEGRAL_TYPE_P (type)
     426        87795 :  && ((tree_expr_nonzero_p (captures[1])
     427        60426 :  && (plusminus == MINUS_EXPR
     428        60268 :  || expr_not_equal_to (captures[1],
     429       485058 :  wi::minus_one (TYPE_PRECISION (type)),
     430              :  gimple_match_ctx (captures[0]))))
     431        27369 :  || expr_not_equal_to (captures[2],
     432              :  (plusminus == PLUS_EXPR
     433       452159 :  ? wi::max_value (TYPE_PRECISION (type), SIGNED)
     434         1638 :  : wi::min_value (TYPE_PRECISION (type), SIGNED)),
     435              :  gimple_match_ctx (captures[0])))))
     436       424790 :  && single_use (captures[0])
     437              : )
     438              :             {
     439       423236 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail165;
     440       423236 :               {
     441       423236 :                 tree res_op0;
     442       423236 :                 {
     443       423236 :                   tree _o1[2], _r1;
     444       423236 :                   _o1[0] = captures[2];
     445       423236 :                   _o1[1] =  build_one_cst (type);
     446       423236 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     447       423236 :                   res_op0 = _r1;
     448              :                 }
     449       423236 :                 tree res_op1;
     450       423236 :                 res_op1 = captures[1];
     451       423236 :                 tree _r;
     452       423236 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     453       423236 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 133, __FILE__, __LINE__, true);
     454              :                 return _r;
     455              :               }
     456            0 : next_after_fail165:;
     457              :             }
     458              :         }
     459              :     }
     460              :   return NULL_TREE;
     461              : }
     462              : 
     463              : tree
     464            1 : generic_simplify_84 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     465              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     466              :  const combined_fn ARG_UNUSED (logs))
     467              : {
     468            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     469            1 :   if (flag_unsafe_math_optimizations
     470              : )
     471              :     {
     472            1 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
     473            1 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
     474            1 :  && ! flag_trapping_math
     475            2 :  && ! flag_errno_math
     476              : )
     477              :         {
     478            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail174;
     479            1 :           {
     480            1 :             tree res_op0;
     481            1 :             {
     482            1 :               tree _o1[2], _r1;
     483            1 :               _o1[0] = captures[1];
     484            1 :               _o1[1] = captures[3];
     485            1 :               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     486            1 :               res_op0 = _r1;
     487              :             }
     488            1 :             tree _r;
     489            1 :             _r = maybe_build_call_expr_loc (loc, logs, type, 1, res_op0);
     490            1 :             if (!_r)
     491            0 :               goto next_after_fail174;
     492            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 142, __FILE__, __LINE__, true);
     493              :             return _r;
     494              :           }
     495            1 : next_after_fail174:;
     496              :         }
     497              :     }
     498              :   return NULL_TREE;
     499              : }
     500              : 
     501              : tree
     502            1 : generic_simplify_92 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     503              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     504              : {
     505            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     506            1 :   if (INTEGRAL_TYPE_P (type)
     507              : )
     508              :     {
     509            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail182;
     510            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail182;
     511            1 :       {
     512            1 :         tree res_op0;
     513            1 :         res_op0 = unshare_expr (captures[1]);
     514            1 :         tree res_op1;
     515            1 :         {
     516            1 :           tree _o1[2], _r1;
     517            1 :           _o1[0] = captures[4];
     518            1 :           _o1[1] = captures[1];
     519            1 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     520            1 :           res_op1 = _r1;
     521              :         }
     522            1 :         tree _r;
     523            1 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     524            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 150, __FILE__, __LINE__, true);
     525              :         return _r;
     526              :       }
     527            1 : next_after_fail182:;
     528              :     }
     529              :   return NULL_TREE;
     530              : }
     531              : 
     532              : tree
     533            5 : generic_simplify_97 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     534              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     535              : {
     536            5 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     537            5 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail187;
     538            5 :   {
     539            5 :     tree res_op0;
     540            5 :     res_op0 = captures[1];
     541            5 :     tree res_op1;
     542            5 :     {
     543            5 :       tree _o1[1], _r1;
     544            5 :       _o1[0] = captures[2];
     545            5 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     546            5 :       res_op1 = _r1;
     547              :     }
     548            5 :     tree _r;
     549            5 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     550            5 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 155, __FILE__, __LINE__, true);
     551              :     return _r;
     552              :   }
     553            0 : next_after_fail187:;
     554            0 :   return NULL_TREE;
     555              : }
     556              : 
     557              : tree
     558          170 : generic_simplify_105 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     559              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     560              : {
     561          170 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     562          170 :   if (!TYPE_SATURATING (type)
     563              : )
     564              :     {
     565          170 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     566          340 :  && !FIXED_POINT_TYPE_P (type)
     567              : )
     568              :         {
     569            0 :           if (!ANY_INTEGRAL_TYPE_P (type)
     570          170 :  || TYPE_OVERFLOW_WRAPS (type)
     571              : )
     572              :             {
     573          126 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail195;
     574          126 :               {
     575          126 :                 tree res_op0;
     576          126 :                 {
     577          126 :                   tree _o1[1], _r1;
     578          126 :                   _o1[0] = captures[1];
     579          126 :                   if (TREE_TYPE (_o1[0]) != type)
     580              :                     {
     581            0 :                       _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     582              :                     }
     583              :                   else
     584              :                     _r1 = _o1[0];
     585          126 :                   res_op0 = _r1;
     586              :                 }
     587          126 :                 tree _r;
     588          126 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     589          126 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     590            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     591          126 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 162, __FILE__, __LINE__, true);
     592              :                 return _r;
     593              :               }
     594            0 : next_after_fail195:;
     595              :             }
     596              :           else
     597              :             {
     598           44 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail196;
     599           44 :               {
     600           44 :                 tree res_op0;
     601           44 :                 {
     602           44 :                   tree _o1[1], _r1;
     603           44 :                   _o1[0] = captures[1];
     604           44 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     605           44 :                   res_op0 = _r1;
     606              :                 }
     607           44 :                 tree _r;
     608           44 :                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     609           44 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     610            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     611           44 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 163, __FILE__, __LINE__, true);
     612              :                 return _r;
     613              :               }
     614            0 : next_after_fail196:;
     615              :             }
     616              :         }
     617              :     }
     618              :   return NULL_TREE;
     619              : }
     620              : 
     621              : tree
     622            0 : generic_simplify_118 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     623              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     624              : {
     625            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     626            0 :   if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
     627              : )
     628              :     {
     629            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail214;
     630            0 :       {
     631            0 :         if (! tree_invariant_p (captures[2])) goto next_after_fail214;
     632            0 :         tree res_op0;
     633            0 :         {
     634            0 :           tree _o1[2], _r1;
     635            0 :           {
     636            0 :             tree _o2[3], _r2;
     637            0 :             _o2[0] = unshare_expr (captures[2]);
     638            0 :             _o2[1] = captures[2];
     639            0 :             _o2[2] = captures[4];
     640            0 :             _r2 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
     641            0 :             _o1[0] = _r2;
     642              :           }
     643            0 :           _o1[1] = captures[3];
     644            0 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     645            0 :           res_op0 = _r1;
     646              :         }
     647            0 :         tree res_op1;
     648            0 :         res_op1 = captures[5];
     649            0 :         tree _r;
     650            0 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
     651            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 181, __FILE__, __LINE__, true);
     652              :         return _r;
     653              :       }
     654            0 : next_after_fail214:;
     655              :     }
     656              :   return NULL_TREE;
     657              : }
     658              : 
     659              : tree
     660           16 : generic_simplify_125 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     661              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     662              : {
     663           16 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     664           32 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     665           32 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     666              : )
     667              :     {
     668            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail225;
     669            0 :       {
     670            0 :         tree res_op0;
     671            0 :         res_op0 = captures[0];
     672            0 :         tree res_op1;
     673            0 :         {
     674            0 :           tree _o1[2], _r1;
     675            0 :           _o1[0] = captures[1];
     676            0 :           _o1[1] =  build_one_cst (type);
     677            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     678            0 :           res_op1 = _r1;
     679              :         }
     680            0 :         tree _r;
     681            0 :         _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     682            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 190, __FILE__, __LINE__, true);
     683              :         return _r;
     684              :       }
     685            0 : next_after_fail225:;
     686              :     }
     687              :   return NULL_TREE;
     688              : }
     689              : 
     690              : tree
     691            0 : generic_simplify_130 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     692              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     693              : {
     694            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     695            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     696            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     697              : )
     698              :     {
     699            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail230;
     700            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail230;
     701            0 :       {
     702            0 :         tree _r;
     703            0 :         _r = captures[2];
     704            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 194, __FILE__, __LINE__, true);
     705              :         return _r;
     706              :       }
     707            0 : next_after_fail230:;
     708              :     }
     709              :   return NULL_TREE;
     710              : }
     711              : 
     712              : tree
     713            0 : generic_simplify_139 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     714              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     715              : {
     716            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     717            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail239;
     718            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail239;
     719            0 :   {
     720            0 :     tree _r;
     721            0 :     _r = captures[2];
     722            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 199, __FILE__, __LINE__, true);
     723              :     return _r;
     724              :   }
     725            0 : next_after_fail239:;
     726              :   return NULL_TREE;
     727              : }
     728              : 
     729              : tree
     730            0 : generic_simplify_146 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     731              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     732              :  const enum tree_code ARG_UNUSED (op))
     733              : {
     734            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     735            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail246;
     736            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail246;
     737            0 :   {
     738            0 :     tree _r;
     739            0 :     _r = captures[0];
     740            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 198, __FILE__, __LINE__, true);
     741              :     return _r;
     742              :   }
     743            0 : next_after_fail246:;
     744              :   return NULL_TREE;
     745              : }
     746              : 
     747              : tree
     748            2 : generic_simplify_154 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     749              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     750              :  const enum tree_code ARG_UNUSED (bitop),
     751              :  const enum tree_code ARG_UNUSED (rbitop))
     752              : {
     753            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     754            2 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail258;
     755            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail258;
     756            2 :   {
     757            2 :     tree res_op0;
     758            2 :     res_op0 = captures[0];
     759            2 :     tree res_op1;
     760            2 :     res_op1 = captures[2];
     761            2 :     tree _r;
     762            2 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     763            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 210, __FILE__, __LINE__, true);
     764              :     return _r;
     765              :   }
     766            2 : next_after_fail258:;
     767              :   return NULL_TREE;
     768              : }
     769              : 
     770              : tree
     771            0 : generic_simplify_160 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     772              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     773              :  const enum tree_code ARG_UNUSED (op))
     774              : {
     775            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     776            0 :   if (bitwise_equal_p (captures[4], captures[7])
     777              : )
     778              :     {
     779            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail265;
     780            0 :       {
     781            0 :         tree res_op0;
     782            0 :         {
     783            0 :           tree _o1[2], _r1;
     784            0 :           {
     785            0 :             tree _o2[2], _r2;
     786            0 :             _o2[0] = captures[5];
     787            0 :             {
     788            0 :               tree _o3[1], _r3;
     789            0 :               _o3[0] = captures[6];
     790            0 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     791              :                 {
     792            0 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     793              :                 }
     794              :               else
     795              :                 _r3 = _o3[0];
     796            0 :               _o2[1] = _r3;
     797              :             }
     798            0 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     799            0 :             _o1[0] = _r2;
     800              :           }
     801            0 :           {
     802            0 :             tree _o2[1], _r2;
     803            0 :             _o2[0] = captures[4];
     804            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     805              :               {
     806            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     807              :               }
     808              :             else
     809              :               _r2 = _o2[0];
     810            0 :             _o1[1] = _r2;
     811              :           }
     812            0 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     813            0 :           res_op0 = _r1;
     814              :         }
     815            0 :         tree _r;
     816            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     817            0 :         if (TREE_SIDE_EFFECTS (captures[7]))
     818            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     819            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     820              :         return _r;
     821              :       }
     822            0 : next_after_fail265:;
     823              :     }
     824              :   return NULL_TREE;
     825              : }
     826              : 
     827              : tree
     828            0 : generic_simplify_172 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     829              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     830              :  const enum tree_code ARG_UNUSED (cmp),
     831              :  const enum tree_code ARG_UNUSED (bitop),
     832              :  const enum tree_code ARG_UNUSED (neeq))
     833              : {
     834            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     835            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail299;
     836            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail299;
     837            0 :   {
     838            0 :     tree res_op0;
     839            0 :     {
     840            0 :       tree _o1[2], _r1;
     841            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     842            0 :       _o1[1] = captures[3];
     843            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     844            0 :       res_op0 = _r1;
     845              :     }
     846            0 :     tree res_op1;
     847            0 :     res_op1 = captures[4];
     848            0 :     tree _r;
     849            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     850            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
     851            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     852            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 239, __FILE__, __LINE__, true);
     853              :     return _r;
     854              :   }
     855            0 : next_after_fail299:;
     856              :   return NULL_TREE;
     857              : }
     858              : 
     859              : tree
     860            0 : generic_simplify_180 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     861              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     862              :  const enum tree_code ARG_UNUSED (cmp),
     863              :  const enum tree_code ARG_UNUSED (bitop),
     864              :  const enum tree_code ARG_UNUSED (neeq))
     865              : {
     866            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     867            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail320;
     868            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail320;
     869            0 :   {
     870            0 :     tree res_op0;
     871            0 :     {
     872            0 :       tree _o1[2], _r1;
     873            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     874            0 :       _o1[1] = captures[3];
     875            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     876            0 :       res_op0 = _r1;
     877              :     }
     878            0 :     tree res_op1;
     879            0 :     res_op1 = captures[4];
     880            0 :     tree _r;
     881            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     882            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
     883            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     884            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 239, __FILE__, __LINE__, true);
     885              :     return _r;
     886              :   }
     887            0 : next_after_fail320:;
     888              :   return NULL_TREE;
     889              : }
     890              : 
     891              : tree
     892            0 : generic_simplify_186 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     893              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     894              :  const enum tree_code ARG_UNUSED (bitop),
     895              :  const enum tree_code ARG_UNUSED (op))
     896              : {
     897            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     898            0 :   if (types_match (captures[0], captures[1])
     899              : )
     900              :     {
     901            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail327;
     902            0 :       {
     903            0 :         tree res_op0;
     904            0 :         res_op0 = captures[0];
     905            0 :         tree res_op1;
     906            0 :         res_op1 = captures[1];
     907            0 :         tree _r;
     908            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     909            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 245, __FILE__, __LINE__, true);
     910              :         return _r;
     911              :       }
     912            0 : next_after_fail327:;
     913              :     }
     914              :   return NULL_TREE;
     915              : }
     916              : 
     917              : tree
     918            0 : generic_simplify_190 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     919              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     920              : {
     921            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     922            0 :   if (type_has_mode_precision_p (type)
     923            0 :  && tree_fits_uhwi_p (captures[1])
     924            0 :  && tree_fits_uhwi_p (captures[3])
     925            0 :  && tree_fits_uhwi_p (captures[4])
     926            0 :  && ((~((HOST_WIDE_INT_1U << tree_to_uhwi (captures[1])) - 1)) & tree_to_uhwi (captures[4])) == 0
     927            0 :  && (tree_to_uhwi (captures[1]) + tree_to_uhwi (captures[3])) == TYPE_PRECISION (type)
     928            0 :  && TYPE_UNSIGNED (type)
     929            0 :  && captures[0] == captures[2]
     930              : )
     931              :     {
     932            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail331;
     933            0 :       {
     934            0 :         tree res_op0;
     935            0 :         {
     936            0 :           tree _o1[2], _r1;
     937            0 :           _o1[0] = captures[0];
     938            0 :           _o1[1] = captures[3];
     939            0 :           _r1 = fold_build2_loc (loc, RROTATE_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     940            0 :           res_op0 = _r1;
     941              :         }
     942            0 :         tree res_op1;
     943            0 :         res_op1 = captures[4];
     944            0 :         tree _r;
     945            0 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     946            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
     947            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     948            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
     949            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     950            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 248, __FILE__, __LINE__, true);
     951              :         return _r;
     952              :       }
     953            0 : next_after_fail331:;
     954              :     }
     955              :   return NULL_TREE;
     956              : }
     957              : 
     958              : tree
     959            0 : generic_simplify_197 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     960              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     961              :  const combined_fn ARG_UNUSED (copysigns))
     962              : {
     963            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     964            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail338;
     965            0 :   {
     966            0 :     if (! tree_invariant_p (captures[1])) goto next_after_fail338;
     967            0 :     tree res_op0;
     968            0 :     res_op0 = unshare_expr (captures[1]);
     969            0 :     tree res_op1;
     970            0 :     res_op1 = captures[1];
     971            0 :     tree _r;
     972            0 :     _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     973            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
     974            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     975            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 253, __FILE__, __LINE__, true);
     976              :     return _r;
     977              :   }
     978            0 : next_after_fail338:;
     979              :   return NULL_TREE;
     980              : }
     981              : 
     982              : tree
     983         1206 : generic_simplify_203 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     984              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     985              :  const enum tree_code ARG_UNUSED (cmp))
     986              : {
     987         1206 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     988         1206 :   if (fold_before_rtl_expansion_p ()
     989              : )
     990              :     {
     991            0 :       if (INTEGRAL_TYPE_P (type)
     992            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     993              : )
     994              :         {
     995            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail346;
     996            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail346;
     997            0 :           {
     998            0 :             tree res_op0;
     999            0 :             res_op0 = captures[0];
    1000            0 :             tree res_op1;
    1001            0 :             res_op1 = captures[3];
    1002            0 :             tree res_op2;
    1003            0 :             res_op2 =  build_zero_cst (type);
    1004            0 :             tree _r;
    1005            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    1006            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 259, __FILE__, __LINE__, true);
    1007              :             return _r;
    1008              :           }
    1009         1206 : next_after_fail346:;
    1010              :         }
    1011              :     }
    1012              :   return NULL_TREE;
    1013              : }
    1014              : 
    1015              : tree
    1016       187303 : generic_simplify_210 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1017              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1018              : {
    1019       187303 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1020       187303 :   if (TREE_CODE (captures[3]) != INTEGER_CST
    1021              :  && single_use (captures[0])
    1022       187303 :  && !integer_zerop (captures[2]) && !integer_minus_onep (captures[2])
    1023              : )
    1024              :     {
    1025       187273 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail354;
    1026       187273 :       {
    1027       187273 :         tree res_op0;
    1028       187273 :         {
    1029       187273 :           tree _o1[2], _r1;
    1030       187273 :           _o1[0] = captures[1];
    1031       187273 :           _o1[1] = captures[3];
    1032       187273 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1033       187273 :           res_op0 = _r1;
    1034              :         }
    1035       187273 :         tree res_op1;
    1036       187273 :         res_op1 = captures[2];
    1037       187273 :         tree _r;
    1038       187273 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    1039       187273 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 266, __FILE__, __LINE__, true);
    1040              :         return _r;
    1041              :       }
    1042            0 : next_after_fail354:;
    1043              :     }
    1044              :   return NULL_TREE;
    1045              : }
    1046              : 
    1047              : tree
    1048           38 : generic_simplify_216 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1049              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1050              :  const combined_fn ARG_UNUSED (POW))
    1051              : {
    1052           38 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1053           38 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1054              : )
    1055              :     {
    1056           38 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail360;
    1057           38 :       {
    1058           38 :         tree res_op0;
    1059           38 :         res_op0 = captures[1];
    1060           38 :         tree res_op1;
    1061           38 :         {
    1062           38 :           tree _o1[2], _r1;
    1063           38 :           _o1[0] = captures[2];
    1064           38 :           _o1[1] = captures[4];
    1065           38 :           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1066           38 :           res_op1 = _r1;
    1067              :         }
    1068           38 :         tree _r;
    1069           38 :         _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1070           38 :         if (!_r)
    1071            0 :           goto next_after_fail360;
    1072           38 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 272, __FILE__, __LINE__, true);
    1073              :         return _r;
    1074              :       }
    1075           38 : next_after_fail360:;
    1076              :     }
    1077              :   return NULL_TREE;
    1078              : }
    1079              : 
    1080              : tree
    1081           12 : generic_simplify_225 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1082              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1083              : {
    1084           12 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1085           24 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1086           24 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    1087              : )
    1088              :     {
    1089            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail373;
    1090            8 :       {
    1091            8 :         tree res_op0;
    1092            8 :         {
    1093            8 :           tree _o1[2], _r1;
    1094            8 :           _o1[0] = captures[1];
    1095            8 :           _o1[1] = captures[2];
    1096            8 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1097            8 :           res_op0 = _r1;
    1098              :         }
    1099            8 :         tree _r;
    1100            8 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1101            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 284, __FILE__, __LINE__, true);
    1102              :         return _r;
    1103              :       }
    1104            0 : next_after_fail373:;
    1105              :     }
    1106              :   return NULL_TREE;
    1107              : }
    1108              : 
    1109              : tree
    1110         2781 : generic_simplify_229 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1111              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1112              :  const enum tree_code ARG_UNUSED (cmp))
    1113              : {
    1114         2781 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1115         5562 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1116         3736 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1117         4670 :  && tree_expr_nonzero_p (captures[1])
    1118              : )
    1119              :     {
    1120           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail377;
    1121           12 :       {
    1122           12 :         tree res_op0;
    1123           12 :         res_op0 = captures[0];
    1124           12 :         tree res_op1;
    1125           12 :         res_op1 = captures[2];
    1126           12 :         tree _r;
    1127           12 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1128           12 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1129            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1130           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 288, __FILE__, __LINE__, true);
    1131              :         return _r;
    1132              :       }
    1133            0 : next_after_fail377:;
    1134              :     }
    1135              :   return NULL_TREE;
    1136              : }
    1137              : 
    1138              : tree
    1139            0 : generic_simplify_236 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1140              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1141              :  const enum tree_code ARG_UNUSED (op))
    1142              : {
    1143            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1144            0 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1145            0 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1146            0 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1147              : )
    1148              :     {
    1149            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail397;
    1150            0 :       {
    1151            0 :         tree res_op0;
    1152            0 :         res_op0 = captures[3];
    1153            0 :         tree res_op1;
    1154            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1155            0 :         tree _r;
    1156            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1157            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1158            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1159            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 305, __FILE__, __LINE__, true);
    1160              :         return _r;
    1161              :       }
    1162            0 : next_after_fail397:;
    1163              :     }
    1164              :   return NULL_TREE;
    1165              : }
    1166              : 
    1167              : tree
    1168            0 : generic_simplify_244 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1169              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1170              :  const enum tree_code ARG_UNUSED (cmp1),
    1171              :  const enum tree_code ARG_UNUSED (cmp2),
    1172              :  const enum tree_code ARG_UNUSED (rcmp))
    1173              : {
    1174            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1175            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1176            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1177            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    1178            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    1179            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    1180              : )
    1181              :     {
    1182            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail405;
    1183            0 :       {
    1184            0 :         tree res_op0;
    1185            0 :         res_op0 = captures[0];
    1186            0 :         tree res_op1;
    1187            0 :         res_op1 = captures[1];
    1188            0 :         tree _r;
    1189            0 :         _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1190            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 315, __FILE__, __LINE__, true);
    1191              :         return _r;
    1192              :       }
    1193            0 : next_after_fail405:;
    1194              :     }
    1195              :   return NULL_TREE;
    1196              : }
    1197              : 
    1198              : tree
    1199           10 : generic_simplify_253 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1200              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1201              :  const enum tree_code ARG_UNUSED (cmp),
    1202              :  const enum tree_code ARG_UNUSED (icmp))
    1203              : {
    1204           10 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1205           10 :   if (tree_int_cst_sgn (captures[0]) > 0
    1206              : )
    1207              :     {
    1208           10 :       {
    1209           10 :  int c1 = wi::clz (wi::to_wide (captures[0]));
    1210           10 :  int c2 = wi::clz (wi::to_wide (captures[2]));
    1211           10 :           if (c1 > c2
    1212           20 :  || !wi::fits_to_tree_p (wi::shwi (c2 - c1, HOST_BITS_PER_INT),
    1213           10 :  TREE_TYPE (captures[1]))
    1214              : )
    1215              :             {
    1216            8 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail418;
    1217            8 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail418;
    1218            8 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail418;
    1219            8 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail418;
    1220            8 :               {
    1221            8 :                 tree _r;
    1222            8 :                 _r =  constant_boolean_node (cmp != NE_EXPR, type);
    1223            8 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1224            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1225            8 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 328, __FILE__, __LINE__, true);
    1226              :                 return _r;
    1227              :               }
    1228           10 : next_after_fail418:;
    1229              :             }
    1230              :           else
    1231              :             {
    1232            2 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail419;
    1233            2 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail419;
    1234            2 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail419;
    1235            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail419;
    1236            2 :               {
    1237            2 :                 tree res_op0;
    1238            2 :                 res_op0 = captures[1];
    1239            2 :                 tree res_op1;
    1240            2 :                 res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c2 - c1);
    1241            2 :                 tree _r;
    1242            2 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1243            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 329, __FILE__, __LINE__, true);
    1244              :                 return _r;
    1245              :               }
    1246           10 : next_after_fail419:;
    1247              :             }
    1248              :       }
    1249              :     }
    1250              :   return NULL_TREE;
    1251              : }
    1252              : 
    1253              : tree
    1254           27 : generic_simplify_262 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1255              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1256              :  const enum tree_code ARG_UNUSED (cmp),
    1257              :  const combined_fn ARG_UNUSED (bswap))
    1258              : {
    1259           27 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1260           27 :   {
    1261           27 :  tree ctype = TREE_TYPE (captures[1]);
    1262           27 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail436;
    1263           27 :       {
    1264           27 :         tree res_op0;
    1265           27 :         {
    1266           27 :           tree _o1[1], _r1;
    1267           27 :           _o1[0] = captures[0];
    1268           27 :           if (TREE_TYPE (_o1[0]) != ctype)
    1269              :             {
    1270            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1271              :             }
    1272              :           else
    1273              :             _r1 = _o1[0];
    1274           27 :           res_op0 = _r1;
    1275              :         }
    1276           27 :         tree res_op1;
    1277           27 :         {
    1278           27 :           tree _o1[1], _r1;
    1279           27 :           _o1[0] = captures[1];
    1280           27 :           _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1281           27 :           if (!_r1)
    1282            0 :             goto next_after_fail436;
    1283           27 :           if (EXPR_P (_r1))
    1284           27 :             goto next_after_fail436;
    1285            0 :           res_op1 = _r1;
    1286              :         }
    1287            0 :         tree _r;
    1288            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1289            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 346, __FILE__, __LINE__, true);
    1290              :         return _r;
    1291              :       }
    1292           27 : next_after_fail436:;
    1293              :   }
    1294              :   return NULL_TREE;
    1295              : }
    1296              : 
    1297              : tree
    1298           24 : generic_simplify_273 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1299              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1300              :  const enum tree_code ARG_UNUSED (cmp))
    1301              : {
    1302           24 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1303           24 :   if (single_use (captures[1]) && single_use (captures[3])
    1304              : )
    1305              :     {
    1306           24 :       {
    1307           24 :  tree otype = TREE_TYPE (captures[0]);
    1308           24 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail453;
    1309           24 :           {
    1310           24 :             tree res_op0;
    1311           24 :             {
    1312           24 :               tree _o1[1], _r1;
    1313           24 :               _o1[0] = captures[4];
    1314           24 :               if (TREE_TYPE (_o1[0]) != otype)
    1315              :                 {
    1316            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1317              :                 }
    1318              :               else
    1319              :                 _r1 = _o1[0];
    1320           24 :               res_op0 = _r1;
    1321              :             }
    1322           24 :             tree res_op1;
    1323           24 :             {
    1324           24 :               tree _o1[1], _r1;
    1325           24 :               _o1[0] = captures[2];
    1326           24 :               if (TREE_TYPE (_o1[0]) != otype)
    1327              :                 {
    1328            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1329              :                 }
    1330              :               else
    1331              :                 _r1 = _o1[0];
    1332           24 :               res_op1 = _r1;
    1333              :             }
    1334           24 :             tree _r;
    1335           24 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1336           24 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 360, __FILE__, __LINE__, true);
    1337              :             return _r;
    1338              :           }
    1339            0 : next_after_fail453:;
    1340              :       }
    1341              :     }
    1342            0 :   return NULL_TREE;
    1343              : }
    1344              : 
    1345              : tree
    1346            6 : generic_simplify_278 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1347              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1348              :  const combined_fn ARG_UNUSED (sq),
    1349              :  const enum tree_code ARG_UNUSED (cmp))
    1350              : {
    1351            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1352            6 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1353              : )
    1354              :     {
    1355            0 :       if (! HONOR_NANS (captures[0])
    1356              : )
    1357              :         {
    1358            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail490;
    1359            0 :           {
    1360            0 :             tree res_op0;
    1361            0 :             res_op0 = captures[0];
    1362            0 :             tree res_op1;
    1363            0 :             res_op1 = captures[1];
    1364            0 :             tree _r;
    1365            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1366            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 398, __FILE__, __LINE__, true);
    1367              :             return _r;
    1368              :           }
    1369            0 : next_after_fail490:;
    1370              :         }
    1371              :     }
    1372              :   return NULL_TREE;
    1373              : }
    1374              : 
    1375              : tree
    1376         2577 : generic_simplify_283 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1377              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1378              :  const enum tree_code ARG_UNUSED (cmp),
    1379              :  const enum tree_code ARG_UNUSED (scmp))
    1380              : {
    1381         2577 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1382         4784 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1383         4784 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1384         2207 :  && (cmp == EQ_EXPR
    1385         2207 :  || cmp == NE_EXPR
    1386         1432 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1387              : )
    1388              :     {
    1389         1430 :       {
    1390         1430 :  tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
    1391         1430 :           if (tem && !TREE_OVERFLOW (tem)
    1392              : )
    1393              :             {
    1394         1402 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail504;
    1395         1402 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail504;
    1396         1402 :               {
    1397         1402 :                 tree res_op0;
    1398         1402 :                 res_op0 = captures[0];
    1399         1402 :                 tree res_op1;
    1400         1402 :                 res_op1 =  tem;
    1401         1402 :                 tree _r;
    1402         1402 :                 _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1403         1402 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 412, __FILE__, __LINE__, true);
    1404              :                 return _r;
    1405              :               }
    1406         2577 : next_after_fail504:;
    1407              :             }
    1408              :       }
    1409              :     }
    1410              :   return NULL_TREE;
    1411              : }
    1412              : 
    1413              : tree
    1414          699 : generic_simplify_286 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1415              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1416              :  const enum tree_code ARG_UNUSED (cmp))
    1417              : {
    1418          699 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1419          699 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1420         1398 :  && wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3])) != 0
    1421              : )
    1422              :     {
    1423            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail521;
    1424            0 :       {
    1425            0 :         tree _r;
    1426            0 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1427            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1428            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1429            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1430            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1431            0 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1432            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1433            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 421, __FILE__, __LINE__, true);
    1434              :         return _r;
    1435              :       }
    1436            0 : next_after_fail521:;
    1437              :     }
    1438              :   return NULL_TREE;
    1439              : }
    1440              : 
    1441              : tree
    1442           62 : generic_simplify_289 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1443              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1444              :  const enum tree_code ARG_UNUSED (cmp))
    1445              : {
    1446           62 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1447           62 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail527;
    1448           62 :   {
    1449           62 :     tree res_op0;
    1450           62 :     res_op0 = captures[1];
    1451           62 :     tree res_op1;
    1452           62 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1453           62 :     tree _r;
    1454           62 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1455           62 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1456            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1457           62 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 427, __FILE__, __LINE__, true);
    1458              :     return _r;
    1459              :   }
    1460            0 : next_after_fail527:;
    1461            0 :   return NULL_TREE;
    1462              : }
    1463              : 
    1464              : tree
    1465           26 : generic_simplify_293 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1466              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1467              :  const enum tree_code ARG_UNUSED (cmp))
    1468              : {
    1469           26 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1470           26 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1471              : )
    1472              :     {
    1473           26 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail531;
    1474           26 :       {
    1475           26 :         tree res_op0;
    1476           26 :         res_op0 = captures[1];
    1477           26 :         tree res_op1;
    1478           26 :         {
    1479           26 :           tree _o1[2], _r1;
    1480           26 :           _o1[0] = captures[2];
    1481           26 :           {
    1482           26 :             tree _o2[1], _r2;
    1483           26 :             _o2[0] = captures[3];
    1484           26 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (res_op0))
    1485              :               {
    1486            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o2[0]);
    1487              :               }
    1488              :             else
    1489              :               _r2 = _o2[0];
    1490           26 :             _o1[1] = _r2;
    1491              :           }
    1492           26 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1493           26 :           res_op1 = _r1;
    1494              :         }
    1495           26 :         tree _r;
    1496           26 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1497           26 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 431, __FILE__, __LINE__, true);
    1498              :         return _r;
    1499              :       }
    1500            0 : next_after_fail531:;
    1501              :     }
    1502              :   return NULL_TREE;
    1503              : }
    1504              : 
    1505              : tree
    1506       113419 : generic_simplify_296 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1507              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1508              :  const enum tree_code ARG_UNUSED (cmp),
    1509              :  const enum tree_code ARG_UNUSED (icmp))
    1510              : {
    1511       113419 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1512       113419 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail534;
    1513       113395 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail534;
    1514       113395 :   {
    1515       113395 :     tree res_op0;
    1516       113395 :     res_op0 = captures[0];
    1517       113395 :     tree res_op1;
    1518       113395 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1519       113395 :     tree _r;
    1520       113395 :     _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1521       113395 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 434, __FILE__, __LINE__, true);
    1522              :     return _r;
    1523              :   }
    1524       113419 : next_after_fail534:;
    1525              :   return NULL_TREE;
    1526              : }
    1527              : 
    1528              : tree
    1529           18 : generic_simplify_301 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1530              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1531              :  const enum tree_code ARG_UNUSED (cmp),
    1532              :  const enum tree_code ARG_UNUSED (ncmp))
    1533              : {
    1534           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1535           36 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1536           18 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1537           36 :  && types_match (captures[0], captures[2])
    1538              : )
    1539              :     {
    1540            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail539;
    1541            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail539;
    1542            2 :       {
    1543            2 :         tree res_op0;
    1544            2 :         {
    1545            2 :           tree _o1[2], _r1;
    1546            2 :           _o1[0] = captures[0];
    1547            2 :           _o1[1] = captures[2];
    1548            2 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1549            2 :           res_op0 = _r1;
    1550              :         }
    1551            2 :         tree res_op1;
    1552            2 :         res_op1 = captures[1];
    1553            2 :         tree _r;
    1554            2 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1555            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 438, __FILE__, __LINE__, true);
    1556              :         return _r;
    1557              :       }
    1558           18 : next_after_fail539:;
    1559              :     }
    1560              :   return NULL_TREE;
    1561              : }
    1562              : 
    1563              : tree
    1564     55047019 : generic_simplify_307 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1565              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1566              :  const enum tree_code ARG_UNUSED (neeq))
    1567              : {
    1568     55047019 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1569     98204699 :   if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1570     55058135 :  && ptrs_compare_unequal (captures[0], captures[1])
    1571              : )
    1572              :     {
    1573        10394 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail559;
    1574        10394 :       {
    1575        10394 :         tree _r;
    1576        10394 :         _r =  constant_boolean_node (neeq != EQ_EXPR, type);
    1577        10394 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1578            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1579        10394 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1580            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1581        10394 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 449, __FILE__, __LINE__, true);
    1582              :         return _r;
    1583              :       }
    1584            0 : next_after_fail559:;
    1585              :     }
    1586              :   return NULL_TREE;
    1587              : }
    1588              : 
    1589              : tree
    1590      1091025 : generic_simplify_311 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1591              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1592              :  const enum tree_code ARG_UNUSED (op),
    1593              :  const enum tree_code ARG_UNUSED (rop),
    1594              :  const enum tree_code ARG_UNUSED (cmp))
    1595              : {
    1596      1091025 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1597      2182050 :   if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
    1598      1091017 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    1599      1090702 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[1]))
    1600      2181579 :  && !TYPE_SATURATING (TREE_TYPE (captures[1]))
    1601              : )
    1602              :     {
    1603      1090554 :       {
    1604      1090554 :  tree res = int_const_binop (rop, captures[3], captures[2]);
    1605      1090554 :           if (TREE_OVERFLOW (res)
    1606      1090554 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1607              : )
    1608              :             {
    1609         7814 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail567;
    1610         7814 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail567;
    1611         7814 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail567;
    1612         7814 :               {
    1613         7814 :                 tree _r;
    1614         7814 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1615         7814 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1616            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1617         7814 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 457, __FILE__, __LINE__, true);
    1618              :                 return _r;
    1619              :               }
    1620      1091025 : next_after_fail567:;
    1621              :             }
    1622              :           else
    1623              :             {
    1624      1082740 :               if (single_use (captures[0]) || wi::to_wide (res) == 0
    1625              : )
    1626              :                 {
    1627      1082740 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail568;
    1628      1082740 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail568;
    1629      1082740 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail568;
    1630      1082740 :                   {
    1631      1082740 :                     tree res_op0;
    1632      1082740 :                     res_op0 = captures[1];
    1633      1082740 :                     tree res_op1;
    1634      1082740 :                     res_op1 =  TREE_OVERFLOW (res)
    1635      1082740 :  ? drop_tree_overflow (res) : res;
    1636      1082740 :                     tree _r;
    1637      1082740 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1638      1082740 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 458, __FILE__, __LINE__, true);
    1639              :                     return _r;
    1640              :                   }
    1641      1091025 : next_after_fail568:;
    1642              :                 }
    1643              :             }
    1644              :       }
    1645              :     }
    1646              :   return NULL_TREE;
    1647              : }
    1648              : 
    1649              : tree
    1650            0 : generic_simplify_314 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1651              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1652              :  const enum tree_code ARG_UNUSED (op),
    1653              :  const enum tree_code ARG_UNUSED (cmp))
    1654              : {
    1655            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1656            0 :   if (integer_zerop (captures[3]) && single_use (captures[0])
    1657              : )
    1658              :     {
    1659            0 :       {
    1660            0 :  tree type0 = TREE_TYPE (captures[1]);
    1661            0 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1662            0 :  if (integer_zerop (captures[2]))
    1663              :  stype = NULL_TREE;
    1664            0 :           if (stype
    1665              : )
    1666              :             {
    1667            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail580;
    1668            0 :               {
    1669            0 :                 tree res_op0;
    1670            0 :                 {
    1671            0 :                   tree _o1[1], _r1;
    1672            0 :                   _o1[0] = captures[1];
    1673            0 :                   if (TREE_TYPE (_o1[0]) != stype)
    1674              :                     {
    1675            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1676              :                     }
    1677              :                   else
    1678              :                     _r1 = _o1[0];
    1679            0 :                   res_op0 = _r1;
    1680              :                 }
    1681            0 :                 tree res_op1;
    1682            0 :                 res_op1 =  build_zero_cst (stype);
    1683            0 :                 tree _r;
    1684            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1685            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1686            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1687            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1688            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1689            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 470, __FILE__, __LINE__, true);
    1690              :                 return _r;
    1691              :               }
    1692            0 : next_after_fail580:;
    1693              :             }
    1694              :       }
    1695              :     }
    1696              :   else
    1697              :     {
    1698            0 :       {
    1699            0 :  bool ok = true;
    1700            0 :  tree type0 = TREE_TYPE (captures[1]);
    1701            0 :  if (wi::to_widest (captures[2]) == TYPE_PRECISION (type0) - 1)
    1702              :  ok = false;
    1703            0 :           if (ok && wi::to_wide (captures[3]) == (TYPE_PRECISION (type0) - 1)
    1704              : )
    1705              :             {
    1706            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail581;
    1707            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail581;
    1708            0 :               {
    1709            0 :                 tree res_op0;
    1710            0 :                 res_op0 = captures[1];
    1711            0 :                 tree res_op1;
    1712            0 :                 res_op1 =  build_one_cst (type0);
    1713            0 :                 tree _r;
    1714            0 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1715            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1716            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1717            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 471, __FILE__, __LINE__, true);
    1718              :                 return _r;
    1719              :               }
    1720            0 : next_after_fail581:;
    1721              :             }
    1722              :       }
    1723              :     }
    1724              :   return NULL_TREE;
    1725              : }
    1726              : 
    1727              : tree
    1728            0 : generic_simplify_323 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1729              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1730              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1731              : {
    1732            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1733            0 :   if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
    1734              : )
    1735              :     {
    1736            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail595;
    1737            0 :       {
    1738            0 :         tree res_op0;
    1739            0 :         {
    1740            0 :           tree _o1[1], _r1;
    1741            0 :           _o1[0] = captures[0];
    1742            0 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1743            0 :           res_op0 = _r1;
    1744              :         }
    1745            0 :         tree res_op1;
    1746            0 :         res_op1 = captures[1];
    1747            0 :         tree _r;
    1748            0 :         _r = maybe_build_call_expr_loc (loc, COPYSIGN_ALL, type, 2, res_op0, res_op1);
    1749            0 :         if (!_r)
    1750            0 :           goto next_after_fail595;
    1751            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 485, __FILE__, __LINE__, true);
    1752              :         return _r;
    1753              :       }
    1754            0 : next_after_fail595:;
    1755              :     }
    1756              :   return NULL_TREE;
    1757              : }
    1758              : 
    1759              : tree
    1760            7 : generic_simplify_329 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1761              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1762              :  const enum tree_code ARG_UNUSED (div))
    1763              : {
    1764            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1765           14 :   if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
    1766            0 :  && (!VECTOR_TYPE_P (type)
    1767            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_vector)
    1768            0 :  || target_supports_op_p (type, RSHIFT_EXPR, optab_scalar))
    1769            7 :  && (useless_type_conversion_p (type, TREE_TYPE (captures[2]))
    1770            0 :  || (element_precision (type) >= element_precision (TREE_TYPE (captures[2]))
    1771            0 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    1772            0 :  || (element_precision (type)
    1773            0 :  == element_precision (TREE_TYPE (captures[2])))
    1774            0 :  || (INTEGRAL_TYPE_P (type)
    1775            0 :  && (tree_nonzero_bits (captures[0])
    1776            7 :  & wi::mask (element_precision (TREE_TYPE (captures[2])) - 1,
    1777              :  true,
    1778            7 :  element_precision (type))) == 0))))
    1779              : )
    1780              :     {
    1781            0 :       if (!VECTOR_TYPE_P (type)
    1782            0 :  && useless_type_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1783            0 :  && element_precision (TREE_TYPE (captures[1])) < element_precision (type)
    1784              : )
    1785              :         {
    1786            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail601;
    1787            0 :           {
    1788            0 :             tree res_op0;
    1789            0 :             {
    1790            0 :               tree _o1[2], _r1;
    1791            0 :               _o1[0] = captures[1];
    1792            0 :               _o1[1] = captures[3];
    1793            0 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1794            0 :               res_op0 = _r1;
    1795              :             }
    1796            0 :             tree _r;
    1797            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1798            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1799            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1800            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 491, __FILE__, __LINE__, true);
    1801              :             return _r;
    1802              :           }
    1803            0 : next_after_fail601:;
    1804              :         }
    1805              :       else
    1806              :         {
    1807            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail602;
    1808            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail602;
    1809            0 :           {
    1810            0 :             tree res_op0;
    1811            0 :             res_op0 = captures[0];
    1812            0 :             tree res_op1;
    1813            0 :             res_op1 = captures[3];
    1814            0 :             tree _r;
    1815            0 :             _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    1816            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1817            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1818            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 492, __FILE__, __LINE__, true);
    1819              :             return _r;
    1820              :           }
    1821            7 : next_after_fail602:;
    1822              :         }
    1823              :     }
    1824              :   return NULL_TREE;
    1825              : }
    1826              : 
    1827              : tree
    1828           51 : generic_simplify_347 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1829              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1830              :  const enum tree_code ARG_UNUSED (mod))
    1831              : {
    1832           51 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1833           51 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail622;
    1834           51 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail622;
    1835           51 :   {
    1836           51 :     tree _r;
    1837           51 :     _r = captures[0];
    1838           51 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 510, __FILE__, __LINE__, true);
    1839              :     return _r;
    1840              :   }
    1841           51 : next_after_fail622:;
    1842              :   return NULL_TREE;
    1843              : }
    1844              : 
    1845              : tree
    1846            6 : generic_simplify_355 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1847              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1848              :  const combined_fn ARG_UNUSED (SIN),
    1849              :  const combined_fn ARG_UNUSED (TAN),
    1850              :  const combined_fn ARG_UNUSED (COS))
    1851              : {
    1852            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1853            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1854              : )
    1855              :     {
    1856            6 :       if (! HONOR_NANS (captures[1])
    1857            6 :  && ! HONOR_INFINITIES (captures[1])
    1858              : )
    1859              :         {
    1860            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail632;
    1861            6 :           {
    1862            6 :             tree res_op0;
    1863            6 :             res_op0 = captures[1];
    1864            6 :             tree _r;
    1865            6 :             _r = maybe_build_call_expr_loc (loc, COS, type, 1, res_op0);
    1866            6 :             if (!_r)
    1867            0 :               goto next_after_fail632;
    1868            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 520, __FILE__, __LINE__, true);
    1869              :             return _r;
    1870              :           }
    1871            6 : next_after_fail632:;
    1872              :         }
    1873              :     }
    1874              :   return NULL_TREE;
    1875              : }
    1876              : 
    1877              : tree
    1878         7542 : generic_simplify_364 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1879              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1880              :  const enum tree_code ARG_UNUSED (cmp),
    1881              :  const enum tree_code ARG_UNUSED (op))
    1882              : {
    1883         7542 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1884         7542 :   {
    1885         7542 :  tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
    1886         7542 :       if (types_match (from_type, to_type)
    1887         7542 :  || (TYPE_UNSIGNED (from_type)
    1888           29 :  && !TYPE_UNSIGNED (to_type)
    1889           29 :  && TYPE_PRECISION (from_type) == TYPE_PRECISION (to_type)
    1890           29 :  && integer_zerop (captures[1])
    1891           29 :  && (cmp == LT_EXPR || cmp == GE_EXPR))
    1892              : )
    1893              :         {
    1894         7520 :           {
    1895         7520 :  wi::overflow_type overflow = wi::OVF_NONE;
    1896         7520 :  enum tree_code code, cmp_code = cmp;
    1897         7520 :  wide_int real_c1;
    1898         7520 :  wide_int c1 = wi::to_wide (captures[1]);
    1899         7520 :  wide_int c2 = wi::to_wide (captures[2]);
    1900         7520 :  wide_int c3 = wi::to_wide (captures[3]);
    1901         7520 :  signop sgn = TYPE_SIGN (from_type);
    1902         7520 :  if (!types_match (from_type, to_type))
    1903              :  {
    1904            7 :  if (cmp_code == LT_EXPR)
    1905              :  cmp_code = GT_EXPR;
    1906            0 :  if (cmp_code == GE_EXPR)
    1907            0 :  cmp_code = LE_EXPR;
    1908            7 :  c1 = wi::max_value (to_type);
    1909              :  }
    1910         7520 :  if (op == PLUS_EXPR)
    1911         7520 :  real_c1 = wi::sub (c3, c2, sgn, &overflow);
    1912              :  else
    1913            0 :  real_c1 = wi::add (c3, c2, sgn, &overflow);
    1914         7520 :  code = cmp_code;
    1915         7520 :  if (!overflow || !TYPE_OVERFLOW_UNDEFINED (from_type))
    1916              :  {
    1917        15040 :  if (!wi::cmp (wi::sub (real_c1, 1, sgn, &overflow), c1, sgn)
    1918         7520 :  && !overflow)
    1919              :  {
    1920          635 :  if (cmp_code == LE_EXPR)
    1921              :  code = LT_EXPR;
    1922          633 :  if (cmp_code == GT_EXPR)
    1923         7520 :  code = GE_EXPR;
    1924              :  }
    1925        15040 :  if (!wi::cmp (wi::add (real_c1, 1, sgn, &overflow), c1, sgn)
    1926         7520 :  && !overflow)
    1927              :  {
    1928         6462 :  if (cmp_code == LT_EXPR)
    1929              :  code = LE_EXPR;
    1930         6462 :  if (cmp_code == GE_EXPR)
    1931              :  code = GT_EXPR;
    1932              :  }
    1933         1087 :  if (code != cmp_code || !wi::cmp (real_c1, c1, sgn))
    1934              :  {
    1935         7297 :  if (cmp_code == LT_EXPR || cmp_code == LE_EXPR)
    1936              :  code = MIN_EXPR;
    1937         7295 :  if (cmp_code == GT_EXPR || cmp_code == GE_EXPR)
    1938              :  code = MAX_EXPR;
    1939              :  }
    1940              :  }
    1941          225 :               if (code == MAX_EXPR
    1942              : )
    1943              :                 {
    1944         7295 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail643;
    1945         7295 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail643;
    1946         7295 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail643;
    1947         7295 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail643;
    1948         7295 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail643;
    1949         7295 :                   {
    1950         7295 :                     tree res_op0;
    1951         7295 :                     {
    1952         7295 :                       tree _o1[2], _r1;
    1953         7295 :                       _o1[0] = captures[0];
    1954         7295 :                       _o1[1] =  wide_int_to_tree (from_type, real_c1);
    1955         7295 :                       _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1956         7295 :                       res_op0 = _r1;
    1957              :                     }
    1958         7295 :                     tree res_op1;
    1959         7295 :                     res_op1 =  wide_int_to_tree (from_type, c2);
    1960         7295 :                     tree _r;
    1961         7295 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1962         7295 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 531, __FILE__, __LINE__, true);
    1963              :                     return _r;
    1964              :                   }
    1965          223 : next_after_fail643:;
    1966              :                 }
    1967              :               else
    1968              :                 {
    1969          225 :                   if (code == MIN_EXPR
    1970              : )
    1971              :                     {
    1972            2 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail644;
    1973            2 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail644;
    1974            2 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail644;
    1975            2 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail644;
    1976            2 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail644;
    1977            2 :                       {
    1978            2 :                         tree res_op0;
    1979            2 :                         {
    1980            2 :                           tree _o1[2], _r1;
    1981            2 :                           _o1[0] = captures[0];
    1982            2 :                           _o1[1] =  wide_int_to_tree (from_type, real_c1);
    1983            2 :                           _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1984            2 :                           res_op0 = _r1;
    1985              :                         }
    1986            2 :                         tree res_op1;
    1987            2 :                         res_op1 =  wide_int_to_tree (from_type, c2);
    1988            2 :                         tree _r;
    1989            2 :                         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1990            2 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 532, __FILE__, __LINE__, true);
    1991              :                         return _r;
    1992              :                       }
    1993          223 : next_after_fail644:;
    1994              :                     }
    1995              :                 }
    1996         7520 :           }
    1997              :         }
    1998              :   }
    1999              :   return NULL_TREE;
    2000              : }
    2001              : 
    2002              : tree
    2003            0 : generic_simplify_392 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2004              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2005              :  const combined_fn ARG_UNUSED (func))
    2006              : {
    2007            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2008            0 :   if (wi::to_widest (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[3])) - 1
    2009              : )
    2010              :     {
    2011            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail680;
    2012            0 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail680;
    2013            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail680;
    2014            0 :       {
    2015            0 :         tree _r;
    2016            0 :         _r = captures[2];
    2017            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2018            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2019            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 568, __FILE__, __LINE__, true);
    2020              :         return _r;
    2021              :       }
    2022            0 : next_after_fail680:;
    2023              :     }
    2024              :   return NULL_TREE;
    2025              : }
    2026              : 
    2027              : tree
    2028        20052 : generic_simplify_400 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2029              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2030              :  const enum tree_code ARG_UNUSED (cmp))
    2031              : {
    2032        20052 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2033        40104 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2034        40043 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    2035              : )
    2036              :     {
    2037        16595 :       if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1])
    2038              : )
    2039              :         {
    2040        13022 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail691;
    2041        13022 :           {
    2042        13022 :             tree res_op0;
    2043        13022 :             res_op0 = captures[0];
    2044        13022 :             tree res_op1;
    2045        13022 :             res_op1 = captures[2];
    2046        13022 :             tree _r;
    2047        13022 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2048        13022 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2049            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2050        13022 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 577, __FILE__, __LINE__, true);
    2051              :             return _r;
    2052              :           }
    2053            0 : next_after_fail691:;
    2054              :         }
    2055              :       else
    2056              :         {
    2057         3573 :           if (TREE_CODE (captures[1]) == INTEGER_CST
    2058         3573 :  && wi::neg_p (wi::to_wide (captures[1]), TYPE_SIGN (TREE_TYPE (captures[1])))
    2059              : )
    2060              :             {
    2061         1107 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail692;
    2062         1107 :               {
    2063         1107 :                 tree res_op0;
    2064         1107 :                 res_op0 = captures[2];
    2065         1107 :                 tree res_op1;
    2066         1107 :                 res_op1 = captures[0];
    2067         1107 :                 tree _r;
    2068         1107 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2069         1107 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2070            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2071         1107 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 578, __FILE__, __LINE__, true);
    2072              :                 return _r;
    2073              :               }
    2074            0 : next_after_fail692:;
    2075              :             }
    2076              :         }
    2077              :     }
    2078              :   return NULL_TREE;
    2079              : }
    2080              : 
    2081              : tree
    2082      9756038 : generic_simplify_413 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2083              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2084              :  const enum tree_code ARG_UNUSED (cmp),
    2085              :  const enum tree_code ARG_UNUSED (acmp))
    2086              : {
    2087      9756038 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2088      9756038 :   {
    2089      9756038 :  tree cst = uniform_integer_cst_p (captures[1]);
    2090      9756038 :       if (tree_int_cst_sgn (cst) == 1
    2091              : )
    2092              :         {
    2093      4002035 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail706;
    2094      4002035 :           {
    2095      4002035 :             tree res_op0;
    2096      4002035 :             res_op0 = captures[0];
    2097      4002035 :             tree res_op1;
    2098      4002035 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    2099      4002035 :  wide_int_to_tree (TREE_TYPE (cst),
    2100      4002035 :  wi::to_wide (cst) - 1));
    2101      4002035 :             tree _r;
    2102      4002035 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    2103      4002035 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2104            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2105      4002035 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 592, __FILE__, __LINE__, true);
    2106              :             return _r;
    2107              :           }
    2108            0 : next_after_fail706:;
    2109              :         }
    2110              :   }
    2111              :   return NULL_TREE;
    2112              : }
    2113              : 
    2114              : tree
    2115            0 : generic_simplify_423 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2116              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2117              :  const enum tree_code ARG_UNUSED (cmp),
    2118              :  const enum tree_code ARG_UNUSED (out))
    2119              : {
    2120            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2121            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2122            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2123              : )
    2124              :     {
    2125            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail748;
    2126            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail748;
    2127            0 :       {
    2128            0 :         tree res_op0;
    2129            0 :         {
    2130            0 :           tree _o1[1], _r1;
    2131            0 :           _o1[0] = captures[0];
    2132            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2133            0 :           res_op0 = _r1;
    2134              :         }
    2135            0 :         tree res_op1;
    2136            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2137            0 :         tree _r;
    2138            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2139            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 617, __FILE__, __LINE__, true);
    2140              :         return _r;
    2141              :       }
    2142            0 : next_after_fail748:;
    2143              :     }
    2144              :   return NULL_TREE;
    2145              : }
    2146              : 
    2147              : tree
    2148            0 : generic_simplify_429 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2149              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2150              :  const enum tree_code ARG_UNUSED (op),
    2151              :  const enum tree_code ARG_UNUSED (cmp))
    2152              : {
    2153            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2154            0 :   {
    2155            0 :  bool ok = true;
    2156            0 :  HOST_WIDE_INT val = 0;
    2157            0 :  if (!tree_fits_shwi_p (captures[3]))
    2158              :  ok = false;
    2159              :  else
    2160              :  {
    2161            0 :  val = tree_to_shwi (captures[3]);
    2162            0 :  if (op == GT_EXPR || op == LE_EXPR)
    2163              :  {
    2164            0 :  if (val == HOST_WIDE_INT_MAX)
    2165              :  ok = false;
    2166              :  else
    2167            0 :  val++;
    2168              :  }
    2169              :  }
    2170            0 :  HOST_WIDE_INT zero_val = tree_to_shwi (captures[2]);
    2171            0 :  tree type0 = TREE_TYPE (captures[1]);
    2172            0 :  int prec = TYPE_PRECISION (type0);
    2173            0 :  if (prec > MAX_FIXED_MODE_SIZE)
    2174            0 :  ok = false;
    2175            0 :       if (val <= 0
    2176              : )
    2177              :         {
    2178            0 :           if (ok && zero_val >= val
    2179              : )
    2180              :             {
    2181            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail759;
    2182            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail759;
    2183            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail759;
    2184            0 :               {
    2185            0 :                 tree _r;
    2186            0 :                 _r =  constant_boolean_node (cmp == EQ_EXPR, type);
    2187            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2188            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2189            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 628, __FILE__, __LINE__, true);
    2190              :                 return _r;
    2191              :               }
    2192            0 : next_after_fail759:;
    2193              :             }
    2194              :         }
    2195              :       else
    2196              :         {
    2197            0 :           if (val >= prec
    2198              : )
    2199              :             {
    2200            0 :               if (ok && zero_val < val
    2201              : )
    2202              :                 {
    2203            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail760;
    2204            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail760;
    2205            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail760;
    2206            0 :                   {
    2207            0 :                     tree _r;
    2208            0 :                     _r =  constant_boolean_node (cmp != EQ_EXPR, type);
    2209            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2210            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2211            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 629, __FILE__, __LINE__, true);
    2212              :                     return _r;
    2213              :                   }
    2214            0 : next_after_fail760:;
    2215              :                 }
    2216              :             }
    2217              :           else
    2218              :             {
    2219            0 :               if (ok && (zero_val < 0 || zero_val >= prec)
    2220              : )
    2221              :                 {
    2222            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail761;
    2223            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail761;
    2224            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail761;
    2225            0 :                   {
    2226            0 :                     tree res_op0;
    2227            0 :                     {
    2228            0 :                       tree _o1[2], _r1;
    2229            0 :                       _o1[0] = captures[1];
    2230            0 :                       _o1[1] =  wide_int_to_tree (type0,
    2231            0 :  wi::mask (val, false, prec));
    2232            0 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2233            0 :                       res_op0 = _r1;
    2234              :                     }
    2235            0 :                     tree res_op1;
    2236            0 :                     res_op1 =  build_zero_cst (type0);
    2237            0 :                     tree _r;
    2238            0 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2239            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 630, __FILE__, __LINE__, true);
    2240              :                     return _r;
    2241              :                   }
    2242            0 : next_after_fail761:;
    2243              :                 }
    2244              :             }
    2245              :         }
    2246              :   }
    2247              :   return NULL_TREE;
    2248              : }
    2249              : 
    2250              : tree
    2251          390 : generic_simplify_443 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2252              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2253              :  const enum tree_code ARG_UNUSED (shift),
    2254              :  const enum tree_code ARG_UNUSED (mod))
    2255              : {
    2256          390 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2257          390 :   if (integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0
    2258              : )
    2259              :     {
    2260          312 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail779;
    2261          312 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail779;
    2262          312 :       {
    2263          312 :         tree res_op0;
    2264          312 :         res_op0 = captures[0];
    2265          312 :         tree res_op1;
    2266          312 :         {
    2267          312 :           tree _o1[2], _r1;
    2268          312 :           _o1[0] = captures[1];
    2269          312 :           {
    2270          312 :             tree _o2[2], _r2;
    2271          312 :             _o2[0] = captures[2];
    2272          312 :             _o2[1] =  build_int_cst (TREE_TYPE (captures[2]),
    2273              :  1);
    2274          312 :             _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2275          312 :             _o1[1] = _r2;
    2276              :           }
    2277          312 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2278          312 :           res_op1 = _r1;
    2279              :         }
    2280          312 :         tree _r;
    2281          312 :         _r = fold_build2_loc (loc, shift, type, res_op0, res_op1);
    2282          312 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 644, __FILE__, __LINE__, true);
    2283              :         return _r;
    2284              :       }
    2285          390 : next_after_fail779:;
    2286              :     }
    2287              :   return NULL_TREE;
    2288              : }
    2289              : 
    2290              : tree
    2291           18 : generic_simplify_451 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2292              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2293              :  const enum tree_code ARG_UNUSED (bit_op),
    2294              :  const enum tree_code ARG_UNUSED (shift))
    2295              : {
    2296           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2297           18 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2298              : )
    2299              :     {
    2300           16 :       {
    2301           16 :  tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
    2302           16 :           if (mask
    2303              : )
    2304              :             {
    2305           16 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail790;
    2306           16 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail790;
    2307           16 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail790;
    2308           16 :               {
    2309           16 :                 tree res_op0;
    2310           16 :                 {
    2311           16 :                   tree _o1[2], _r1;
    2312           16 :                   {
    2313           16 :                     tree _o2[1], _r2;
    2314           16 :                     _o2[0] = captures[2];
    2315           16 :                     if (TREE_TYPE (_o2[0]) != type)
    2316              :                       {
    2317           16 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2318              :                       }
    2319              :                     else
    2320              :                       _r2 = _o2[0];
    2321           16 :                     _o1[0] = _r2;
    2322              :                   }
    2323           16 :                   _o1[1] = captures[4];
    2324           16 :                   _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2325           16 :                   res_op0 = _r1;
    2326              :                 }
    2327           16 :                 tree res_op1;
    2328           16 :                 res_op1 =  mask;
    2329           16 :                 tree _r;
    2330           16 :                 _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2331           16 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 654, __FILE__, __LINE__, true);
    2332              :                 return _r;
    2333              :               }
    2334           18 : next_after_fail790:;
    2335              :             }
    2336              :       }
    2337              :     }
    2338              :   return NULL_TREE;
    2339              : }
    2340              : 
    2341              : tree
    2342      4001892 : generic_simplify_458 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2343              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2344              :  const enum tree_code ARG_UNUSED (bitop))
    2345              : {
    2346      4001892 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2347      4001892 :   if (0
    2348              :  && INTEGRAL_TYPE_P (type)
    2349              :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2350              :  && TREE_CODE (captures[3]) != INTEGER_CST
    2351              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2352              :  && TYPE_PRECISION (TREE_TYPE (captures[2])) > TYPE_PRECISION (type)
    2353              : )
    2354              :     {
    2355              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail802;
    2356              :       {
    2357              :         tree res_op0;
    2358              :         {
    2359              :           tree _o1[1], _r1;
    2360              :           _o1[0] = captures[2];
    2361              :           if (TREE_TYPE (_o1[0]) != type)
    2362              :             {
    2363              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2364              :             }
    2365              :           else
    2366              :             _r1 = _o1[0];
    2367              :           res_op0 = _r1;
    2368              :         }
    2369              :         tree res_op1;
    2370              :         {
    2371              :           tree _o1[1], _r1;
    2372              :           _o1[0] = captures[3];
    2373              :           if (TREE_TYPE (_o1[0]) != type)
    2374              :             {
    2375              :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2376              :             }
    2377              :           else
    2378              :             _r1 = _o1[0];
    2379              :           res_op1 = _r1;
    2380              :         }
    2381              :         tree _r;
    2382              :         _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2383              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 665, __FILE__, __LINE__, true);
    2384              :         return _r;
    2385              :       }
    2386              : next_after_fail802:;
    2387              :     }
    2388              :   else
    2389              :     {
    2390      4001892 :       if (0
    2391              :  && INTEGRAL_TYPE_P (type)
    2392              :  && types_match (type, TREE_TYPE (captures[2]))
    2393              :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
    2394              : )
    2395              :         {
    2396              :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail803;
    2397              :           {
    2398              :             tree res_op0;
    2399              :             res_op0 = captures[2];
    2400              :             tree res_op1;
    2401              :             {
    2402              :               tree _o1[1], _r1;
    2403              :               _o1[0] = captures[3];
    2404              :               if (TREE_TYPE (_o1[0]) != type)
    2405              :                 {
    2406              :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2407              :                 }
    2408              :               else
    2409              :                 _r1 = _o1[0];
    2410              :               res_op1 = _r1;
    2411              :             }
    2412              :             tree _r;
    2413              :             _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
    2414              :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 666, __FILE__, __LINE__, true);
    2415              :             return _r;
    2416              :           }
    2417              : next_after_fail803:;
    2418              :         }
    2419              :     }
    2420      4001892 :   return NULL_TREE;
    2421              : }
    2422              : 
    2423              : tree
    2424            0 : generic_simplify_467 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2425              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2426              :  const combined_fn ARG_UNUSED (coss),
    2427              :  const combined_fn ARG_UNUSED (atans),
    2428              :  const combined_fn ARG_UNUSED (sqrts),
    2429              :  const combined_fn ARG_UNUSED (copysigns))
    2430              : {
    2431            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2432            0 :   {
    2433            0 :  REAL_VALUE_TYPE r_cst;
    2434            0 :  build_sinatan_real (&r_cst, type);
    2435            0 :  tree t_cst = build_real (type, r_cst);
    2436            0 :  tree t_one = build_one_cst (type);
    2437            0 :  tree t_zero = build_zero_cst (type);
    2438            0 :       if (SCALAR_FLOAT_TYPE_P (type)
    2439              : )
    2440              :         {
    2441            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail825;
    2442            0 :           {
    2443            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail825;
    2444            0 :             tree res_op0;
    2445            0 :             {
    2446            0 :               tree _o1[2], _r1;
    2447            0 :               {
    2448            0 :                 tree _o2[1], _r2;
    2449            0 :                 _o2[0] = unshare_expr (captures[1]);
    2450            0 :                 _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    2451            0 :                 _o1[0] = _r2;
    2452              :               }
    2453            0 :               _o1[1] =  t_cst;
    2454            0 :               _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    2455            0 :               res_op0 = _r1;
    2456              :             }
    2457            0 :             tree res_op1;
    2458            0 :             {
    2459            0 :               tree _o1[2], _r1;
    2460            0 :               _o1[0] =  t_one;
    2461            0 :               {
    2462            0 :                 tree _o2[1], _r2;
    2463            0 :                 {
    2464            0 :                   tree _o3[2], _r3;
    2465            0 :                   {
    2466            0 :                     tree _o4[2], _r4;
    2467            0 :                     _o4[0] = unshare_expr (captures[1]);
    2468            0 :                     _o4[1] = unshare_expr (captures[1]);
    2469            0 :                     _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
    2470            0 :                     _o3[0] = _r4;
    2471              :                   }
    2472            0 :                   _o3[1] =  t_one;
    2473            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2474            0 :                   _o2[0] = _r3;
    2475              :                 }
    2476            0 :                 _r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
    2477            0 :                 if (!_r2)
    2478            0 :                   goto next_after_fail825;
    2479            0 :                 _o1[1] = _r2;
    2480              :               }
    2481            0 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2482            0 :               res_op1 = _r1;
    2483              :             }
    2484            0 :             tree res_op2;
    2485            0 :             {
    2486            0 :               tree _o1[2], _r1;
    2487            0 :               _o1[0] =  t_zero;
    2488            0 :               _o1[1] = captures[1];
    2489            0 :               _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    2490            0 :               if (!_r1)
    2491            0 :                 goto next_after_fail825;
    2492            0 :               res_op2 = _r1;
    2493              :             }
    2494            0 :             tree _r;
    2495            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2496            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2497            0 :             return _r;
    2498              :           }
    2499            0 : next_after_fail825:;
    2500              :         }
    2501              :   }
    2502            0 :   return NULL_TREE;
    2503              : }
    2504              : 
    2505              : tree
    2506            0 : generic_simplify_473 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2507              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2508              : {
    2509            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2510            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail831;
    2511            0 :   {
    2512            0 :     tree _r;
    2513            0 :     _r = captures[0];
    2514            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2515            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2516            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 682, __FILE__, __LINE__, true);
    2517              :     return _r;
    2518              :   }
    2519            0 : next_after_fail831:;
    2520            0 :   return NULL_TREE;
    2521              : }
    2522              : 
    2523              : tree
    2524            0 : generic_simplify_477 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2525              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2526              :  const combined_fn ARG_UNUSED (HYPOT))
    2527              : {
    2528            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2529            0 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    2530              : )
    2531              :     {
    2532            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail835;
    2533            0 :       {
    2534            0 :         tree res_op0;
    2535            0 :         {
    2536            0 :           tree _o1[1], _r1;
    2537            0 :           _o1[0] = captures[0];
    2538            0 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2539            0 :           res_op0 = _r1;
    2540              :         }
    2541            0 :         tree res_op1;
    2542            0 :         res_op1 =  build_real_truncate (type, dconst_sqrt2 ());
    2543            0 :         tree _r;
    2544            0 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2545            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 686, __FILE__, __LINE__, true);
    2546              :         return _r;
    2547              :       }
    2548            0 : next_after_fail835:;
    2549              :     }
    2550              :   return NULL_TREE;
    2551              : }
    2552              : 
    2553              : tree
    2554       130669 : generic_simplify_483 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2555              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2556              : {
    2557       130669 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2558       130669 :   {
    2559       130669 :  bool wascmp;
    2560       130669 :       if (bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    2561       130669 :  && (!wascmp || element_precision (type) == 1)
    2562              : )
    2563              :         {
    2564            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail841;
    2565            1 :           {
    2566            1 :             tree res_op0;
    2567            1 :             res_op0 = captures[0];
    2568            1 :             tree res_op1;
    2569            1 :             res_op1 = captures[2];
    2570            1 :             tree _r;
    2571            1 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2572            1 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2573            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2574            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 692, __FILE__, __LINE__, true);
    2575            1 :             return _r;
    2576              :           }
    2577            0 : next_after_fail841:;
    2578              :         }
    2579              :   }
    2580       130668 :   return NULL_TREE;
    2581              : }
    2582              : 
    2583              : tree
    2584           22 : generic_simplify_489 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2585              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2586              :  const enum tree_code ARG_UNUSED (bitop))
    2587              : {
    2588           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2589           22 :   {
    2590           22 :  tree pmop[2];
    2591           22 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[4], NEGATE_EXPR, captures[1],
    2592              :  bitop, captures[2], captures[3], NULL_TREE, ERROR_MARK,
    2593              :  NULL_TREE, NULL_TREE, pmop);
    2594           22 :       if (utype
    2595              : )
    2596              :         {
    2597            9 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail847;
    2598            9 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail847;
    2599            9 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail847;
    2600            9 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail847;
    2601            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail847;
    2602            9 :           {
    2603            9 :             tree res_op0;
    2604            9 :             {
    2605            9 :               tree _o1[2], _r1;
    2606            9 :               {
    2607            9 :                 tree _o2[1], _r2;
    2608            9 :                 {
    2609            9 :                   tree _o3[1], _r3;
    2610            9 :                   _o3[0] =  pmop[0];
    2611            9 :                   if (TREE_TYPE (_o3[0]) != utype)
    2612              :                     {
    2613            6 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2614              :                     }
    2615              :                   else
    2616              :                     _r3 = _o3[0];
    2617            9 :                   _o2[0] = _r3;
    2618              :                 }
    2619            9 :                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    2620            9 :                 _o1[0] = _r2;
    2621              :               }
    2622            9 :               {
    2623            9 :                 tree _o2[1], _r2;
    2624            9 :                 _o2[0] = captures[4];
    2625            9 :                 if (TREE_TYPE (_o2[0]) != utype)
    2626              :                   {
    2627            6 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2628              :                   }
    2629              :                 else
    2630              :                   _r2 = _o2[0];
    2631            9 :                 _o1[1] = _r2;
    2632              :               }
    2633            9 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2634            9 :               res_op0 = _r1;
    2635              :             }
    2636            9 :             tree _r;
    2637            9 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2638            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 697, __FILE__, __LINE__, true);
    2639            9 :             return _r;
    2640              :           }
    2641           13 : next_after_fail847:;
    2642              :         }
    2643              :   }
    2644           13 :   return NULL_TREE;
    2645              : }
    2646              : 
    2647              : tree
    2648            0 : generic_simplify_504 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2649              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2650              :  const enum tree_code ARG_UNUSED (eqne))
    2651              : {
    2652            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2653            0 :   if (eqne == EQ_EXPR
    2654              : )
    2655              :     {
    2656            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail882;
    2657            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail882;
    2658            0 :       {
    2659            0 :         tree _r;
    2660            0 :         _r =  constant_boolean_node (false, type);
    2661            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2662            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2663            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 706, __FILE__, __LINE__, true);
    2664              :         return _r;
    2665              :       }
    2666            0 : next_after_fail882:;
    2667              :     }
    2668              :   else
    2669              :     {
    2670            0 :       if (eqne == NE_EXPR
    2671              : )
    2672              :         {
    2673            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail883;
    2674            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail883;
    2675            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail883;
    2676            0 :           {
    2677            0 :             tree _r;
    2678            0 :             _r = captures[0];
    2679            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 707, __FILE__, __LINE__, true);
    2680              :             return _r;
    2681              :           }
    2682            0 : next_after_fail883:;
    2683              :         }
    2684              :     }
    2685              :   return NULL_TREE;
    2686              : }
    2687              : 
    2688              : tree
    2689            0 : generic_simplify_513 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2690              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2691              : {
    2692            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2693            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2694            0 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2695              : )
    2696              :     {
    2697            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail905;
    2698            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail905;
    2699            0 :       {
    2700            0 :         tree res_op0;
    2701            0 :         res_op0 = captures[3];
    2702            0 :         tree res_op1;
    2703            0 :         {
    2704            0 :           tree _o1[2], _r1;
    2705            0 :           _o1[0] = captures[1];
    2706            0 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
    2707            0 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2708            0 :           res_op1 = _r1;
    2709              :         }
    2710            0 :         tree _r;
    2711            0 :         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2712            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 726, __FILE__, __LINE__, true);
    2713              :         return _r;
    2714              :       }
    2715            0 : next_after_fail905:;
    2716              :     }
    2717              :   return NULL_TREE;
    2718              : }
    2719              : 
    2720              : tree
    2721        41452 : generic_simplify_518 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2722              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2723              :  const enum tree_code ARG_UNUSED (shift))
    2724              : {
    2725        41452 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2726        41452 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2727        23707 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2728        23707 :  && tree_fits_uhwi_p (captures[4])
    2729        23707 :  && tree_to_uhwi (captures[4]) > 0
    2730        65157 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2731              : )
    2732              :     {
    2733        23705 :       {
    2734        23705 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2735        23705 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2736        23705 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2737        23705 :  tree shift_type = TREE_TYPE (captures[2]);
    2738        23705 :  unsigned int prec;
    2739        23705 :  if (shift == LSHIFT_EXPR)
    2740            0 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2741        23705 :  else if (shift == RSHIFT_EXPR
    2742        23705 :  && type_has_mode_precision_p (shift_type))
    2743              :  {
    2744        23705 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2745        23705 :  tree arg00 = captures[3];
    2746        23705 :  if (captures[2] != captures[3]
    2747        23705 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2748              :  {
    2749            0 :  tree inner_type = TREE_TYPE (captures[3]);
    2750            0 :  if (type_has_mode_precision_p (inner_type)
    2751            0 :  && TYPE_PRECISION (inner_type) < prec)
    2752              :  {
    2753            0 :  prec = TYPE_PRECISION (inner_type);
    2754            0 :  if (shiftc < prec)
    2755            0 :  shift_type = inner_type;
    2756              :  }
    2757              :  }
    2758        23705 :  zerobits = HOST_WIDE_INT_M1U;
    2759        23705 :  if (shiftc < prec)
    2760              :  {
    2761        23705 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2762        23705 :  zerobits <<= prec - shiftc;
    2763              :  }
    2764        23705 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2765        23705 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2766              :  {
    2767           98 :  if ((mask & zerobits) == 0)
    2768           82 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2769              :  else
    2770              :  zerobits = 0;
    2771              :  }
    2772              :  }
    2773        23689 :           if ((mask & zerobits) == mask
    2774              : )
    2775              :             {
    2776            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail916;
    2777            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail916;
    2778            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail916;
    2779            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail916;
    2780            0 :               {
    2781            0 :                 tree _r;
    2782            0 :                 _r =  build_int_cst (type, 0);
    2783            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 728, __FILE__, __LINE__, true);
    2784        41452 :                 return _r;
    2785              :               }
    2786        41452 : next_after_fail916:;
    2787              :             }
    2788              :           else
    2789              :             {
    2790        23705 :               {
    2791        23705 :  newmask = mask | zerobits;
    2792        23705 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2793              : )
    2794              :                     {
    2795              :                       {
    2796          109 :  for (prec = BITS_PER_UNIT;
    2797          181 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2798          171 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2799              :  break;
    2800           72 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2801           10 :  || newmask == HOST_WIDE_INT_M1U
    2802              : )
    2803              :                             {
    2804           72 :                               {
    2805           72 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2806           72 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2807              : )
    2808              :                                     {
    2809           72 :                                       if (shift_type != TREE_TYPE (captures[2])
    2810              : )
    2811              :                                         {
    2812           11 :                                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail917;
    2813           11 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail917;
    2814           11 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail917;
    2815           11 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail917;
    2816           11 :                                           {
    2817           11 :                                             tree res_op0;
    2818           11 :                                             {
    2819           11 :                                               tree _o1[1], _r1;
    2820           11 :                                               {
    2821           11 :                                                 tree _o2[2], _r2;
    2822           11 :                                                 {
    2823           11 :                                                   tree _o3[1], _r3;
    2824           11 :                                                   _o3[0] = captures[2];
    2825           11 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2826              :                                                     {
    2827           11 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2828              :                                                     }
    2829              :                                                   else
    2830              :                                                     _r3 = _o3[0];
    2831           11 :                                                   _o2[0] = _r3;
    2832              :                                                 }
    2833           11 :                                                 _o2[1] = captures[4];
    2834           11 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2835           11 :                                                 _o1[0] = _r2;
    2836              :                                               }
    2837           11 :                                               if (TREE_TYPE (_o1[0]) != type)
    2838              :                                                 {
    2839           11 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2840              :                                                 }
    2841              :                                               else
    2842              :                                                 _r1 = _o1[0];
    2843           11 :                                               res_op0 = _r1;
    2844              :                                             }
    2845           11 :                                             tree res_op1;
    2846           11 :                                             res_op1 =  newmaskt;
    2847           11 :                                             tree _r;
    2848           11 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2849           11 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 729, __FILE__, __LINE__, true);
    2850              :                                             return _r;
    2851              :                                           }
    2852        41452 : next_after_fail917:;
    2853              :                                         }
    2854              :                                       else
    2855              :                                         {
    2856           61 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail918;
    2857           61 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail918;
    2858           61 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail918;
    2859           61 :                                           {
    2860           61 :                                             tree res_op0;
    2861           61 :                                             res_op0 = captures[0];
    2862           61 :                                             tree res_op1;
    2863           61 :                                             res_op1 =  newmaskt;
    2864           61 :                                             tree _r;
    2865           61 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2866           61 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 730, __FILE__, __LINE__, true);
    2867              :                                             return _r;
    2868              :                                           }
    2869        41452 : next_after_fail918:;
    2870              :                                         }
    2871              :                                     }
    2872              :                               }
    2873              :                             }
    2874              :                       }
    2875              :                     }
    2876              :               }
    2877              :             }
    2878              :       }
    2879              :     }
    2880              :   return NULL_TREE;
    2881              : }
    2882              : 
    2883              : tree
    2884           17 : generic_simplify_527 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2885              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2886              : {
    2887           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2888           17 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail929;
    2889           17 :   {
    2890           17 :     tree res_op0;
    2891           17 :     res_op0 = captures[0];
    2892           17 :     tree res_op1;
    2893           17 :     res_op1 = captures[1];
    2894           17 :     tree _r;
    2895           17 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2896           17 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 741, __FILE__, __LINE__, true);
    2897              :     return _r;
    2898              :   }
    2899            0 : next_after_fail929:;
    2900            0 :   return NULL_TREE;
    2901              : }
    2902              : 
    2903              : tree
    2904            0 : generic_simplify_534 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2905              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2906              :  const enum tree_code ARG_UNUSED (rotate))
    2907              : {
    2908            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2909            0 :   if ((element_precision (TREE_TYPE (captures[2]))
    2910            0 :  <= element_precision (TREE_TYPE (captures[3]))
    2911            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2912            0 :  && (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
    2913            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
    2914              : )
    2915              :     {
    2916            0 :       {
    2917            0 :  tree rotate_type = TREE_TYPE (captures[2]);
    2918            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail936;
    2919            0 :           {
    2920            0 :             tree res_op0;
    2921            0 :             {
    2922            0 :               tree _o1[2], _r1;
    2923            0 :               {
    2924            0 :                 tree _o2[1], _r2;
    2925            0 :                 _o2[0] = captures[3];
    2926            0 :                 if (TREE_TYPE (_o2[0]) != rotate_type)
    2927              :                   {
    2928            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, rotate_type, _o2[0]);
    2929              :                   }
    2930              :                 else
    2931              :                   _r2 = _o2[0];
    2932            0 :                 _o1[0] = _r2;
    2933              :               }
    2934            0 :               _o1[1] = captures[4];
    2935            0 :               _r1 = fold_build2_loc (loc, rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2936            0 :               res_op0 = _r1;
    2937              :             }
    2938            0 :             tree _r;
    2939            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2940            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 747, __FILE__, __LINE__, true);
    2941              :             return _r;
    2942              :           }
    2943            0 : next_after_fail936:;
    2944              :       }
    2945              :     }
    2946              :   return NULL_TREE;
    2947              : }
    2948              : 
    2949              : tree
    2950           16 : generic_simplify_544 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2951              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2952              :  const combined_fn ARG_UNUSED (fmas))
    2953              : {
    2954           16 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2955           16 :   if (canonicalize_math_after_vectorization_p ()
    2956              : )
    2957              :     {
    2958              :       if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    2959              : )
    2960              :         {
    2961              :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail948;
    2962              :           {
    2963              :             tree res_op0;
    2964              :             res_op0 = captures[1];
    2965              :             tree res_op1;
    2966              :             res_op1 = captures[2];
    2967              :             tree res_op2;
    2968              :             res_op2 = captures[3];
    2969              :             tree _r;
    2970              :             _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
    2971              :             if (!_r)
    2972              :               goto next_after_fail948;
    2973              :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 758, __FILE__, __LINE__, true);
    2974              :             return _r;
    2975              :           }
    2976           16 : next_after_fail948:;
    2977              :         }
    2978              :     }
    2979           16 :   return NULL_TREE;
    2980              : }
    2981              : 
    2982              : tree
    2983            0 : generic_simplify_555 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2984              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2985              :  const enum tree_code ARG_UNUSED (minmax))
    2986              : {
    2987            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2988            0 :   if (TYPE_UNSIGNED (type)
    2989            0 :  || (tree_int_cst_sgn (captures[2]) == tree_int_cst_sgn (captures[4]))
    2990              : )
    2991              :     {
    2992            0 :       {
    2993            0 :  auto andvalue = wi::to_wide (captures[2]) & wi::to_wide (captures[4]);
    2994            0 :           if (andvalue == ((minmax == MIN_EXPR)
    2995            0 :  ? wi::to_wide (captures[2]) : wi::to_wide (captures[4]))
    2996              : )
    2997              :             {
    2998            0 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail959;
    2999            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail959;
    3000            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail959;
    3001            0 :               {
    3002            0 :                 tree _r;
    3003            0 :                 _r = captures[0];
    3004            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 768, __FILE__, __LINE__, true);
    3005              :                 return _r;
    3006              :               }
    3007            0 : next_after_fail959:;
    3008              :             }
    3009              :           else
    3010              :             {
    3011            0 :               if (andvalue == ((minmax != MIN_EXPR)
    3012            0 :  ? wi::to_wide (captures[2]) : wi::to_wide (captures[4]))
    3013              : )
    3014              :                 {
    3015            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail960;
    3016            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail960;
    3017            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail960;
    3018            0 :                   {
    3019            0 :                     tree _r;
    3020            0 :                     _r = captures[3];
    3021            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 769, __FILE__, __LINE__, true);
    3022              :                     return _r;
    3023              :                   }
    3024            0 : next_after_fail960:;
    3025              :                 }
    3026              :             }
    3027            0 :       }
    3028              :     }
    3029              :   return NULL_TREE;
    3030              : }
    3031              : 
    3032              : tree
    3033            0 : generic_simplify_566 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3034              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3035              :  const combined_fn ARG_UNUSED (minmax))
    3036              : {
    3037            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3038            0 :   if (!tree_expr_maybe_signaling_nan_p (captures[0])
    3039              : )
    3040              :     {
    3041            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail984;
    3042            0 :       {
    3043            0 :         tree _r;
    3044            0 :         _r = captures[0];
    3045            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 781, __FILE__, __LINE__, true);
    3046              :         return _r;
    3047              :       }
    3048            0 : next_after_fail984:;
    3049              :     }
    3050              :   return NULL_TREE;
    3051              : }
    3052              : 
    3053              : tree
    3054            0 : generic_simplify_572 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3055              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3056              :  const enum tree_code ARG_UNUSED (cmp))
    3057              : {
    3058            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3059            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail990;
    3060            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail990;
    3061            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail990;
    3062            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail990;
    3063            0 :   {
    3064            0 :     tree _r;
    3065            0 :     _r = captures[3];
    3066            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 563, __FILE__, __LINE__, true);
    3067              :     return _r;
    3068              :   }
    3069            0 : next_after_fail990:;
    3070              :   return NULL_TREE;
    3071              : }
    3072              : 
    3073              : tree
    3074            0 : generic_simplify_581 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3075              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3076              :  const combined_fn ARG_UNUSED (cond_len_op))
    3077              : {
    3078            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3079            0 :   {
    3080            0 :  tree op_type = TREE_TYPE (captures[6]);
    3081            0 :       if (inverse_conditions_p (captures[0], captures[2])
    3082            0 :  && element_precision (type) == element_precision (op_type)
    3083              : )
    3084              :         {
    3085            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail999;
    3086            0 :           {
    3087            0 :             tree res_op0;
    3088            0 :             {
    3089            0 :               tree _o1[7], _r1;
    3090            0 :               _o1[0] = captures[2];
    3091            0 :               _o1[1] = captures[3];
    3092            0 :               _o1[2] = captures[4];
    3093            0 :               _o1[3] = captures[5];
    3094            0 :               {
    3095            0 :                 tree _o2[1], _r2;
    3096            0 :                 _o2[0] = captures[1];
    3097            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    3098              :                   {
    3099            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    3100              :                   }
    3101              :                 else
    3102              :                   _r2 = _o2[0];
    3103            0 :                 _o1[4] = _r2;
    3104              :               }
    3105            0 :               _o1[5] = captures[7];
    3106            0 :               _o1[6] = captures[8];
    3107            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_len_op, TREE_TYPE (_o1[1]), 7, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4], _o1[5], _o1[6]);
    3108            0 :               if (!_r1)
    3109            0 :                 goto next_after_fail999;
    3110            0 :               res_op0 = _r1;
    3111              :             }
    3112            0 :             tree _r;
    3113            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3114            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3115            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3116            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
    3117            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
    3118            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 792, __FILE__, __LINE__, true);
    3119              :             return _r;
    3120              :           }
    3121            0 : next_after_fail999:;
    3122              :         }
    3123              :   }
    3124              :   return NULL_TREE;
    3125              : }
    3126              : 
    3127              : tree
    3128            0 : generic_simplify_594 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3129              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    3130              :  const combined_fn ARG_UNUSED (ovf))
    3131              : {
    3132            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3133            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3134            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3135            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
    3136            0 :  && (!TYPE_UNSIGNED (TREE_TYPE (captures[0])) || TYPE_UNSIGNED (TREE_TYPE (captures[1])))
    3137              : )
    3138              :     {
    3139            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1015;
    3140            0 :       {
    3141            0 :         tree res_op0;
    3142            0 :         res_op0 = captures[1];
    3143            0 :         tree res_op1;
    3144            0 :         res_op1 = captures[2];
    3145            0 :         tree _r;
    3146            0 :         _r = maybe_build_call_expr_loc (loc, ovf, type, 2, res_op0, res_op1);
    3147            0 :         if (!_r)
    3148            0 :           goto next_after_fail1015;
    3149            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 808, __FILE__, __LINE__, true);
    3150              :         return _r;
    3151              :       }
    3152            0 : next_after_fail1015:;
    3153              :     }
    3154              :   return NULL_TREE;
    3155              : }
    3156              : 
    3157              : tree
    3158            0 : generic_simplify_602 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3159              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3160              :  const combined_fn ARG_UNUSED (fns))
    3161              : {
    3162            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3163            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1023;
    3164            0 :   {
    3165            0 :     tree res_op0;
    3166            0 :     res_op0 = captures[0];
    3167            0 :     tree _r;
    3168            0 :     _r = maybe_build_call_expr_loc (loc, fns, type, 1, res_op0);
    3169            0 :     if (!_r)
    3170            0 :       goto next_after_fail1023;
    3171            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 816, __FILE__, __LINE__, true);
    3172              :     return _r;
    3173              :   }
    3174            0 : next_after_fail1023:;
    3175              :   return NULL_TREE;
    3176              : }
    3177              : 
    3178              : tree
    3179            0 : generic_simplify_609 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3180              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3181              :  const combined_fn ARG_UNUSED (froms),
    3182              :  const combined_fn ARG_UNUSED (tos))
    3183              : {
    3184            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3185            0 :   if (optimize && canonicalize_math_p ()
    3186              : )
    3187              :     {
    3188            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1030;
    3189            0 :       {
    3190            0 :         tree res_op0;
    3191            0 :         res_op0 = captures[0];
    3192            0 :         tree _r;
    3193            0 :         _r = maybe_build_call_expr_loc (loc, tos, type, 1, res_op0);
    3194            0 :         if (!_r)
    3195            0 :           goto next_after_fail1030;
    3196            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 823, __FILE__, __LINE__, true);
    3197              :         return _r;
    3198              :       }
    3199            0 : next_after_fail1030:;
    3200              :     }
    3201              :   return NULL_TREE;
    3202              : }
    3203              : 
    3204              : tree
    3205            0 : generic_simplify_617 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3206              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3207              :  const combined_fn ARG_UNUSED (SIGNBIT))
    3208              : {
    3209            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3210            0 :   if (!HONOR_SIGNED_ZEROS (captures[0])
    3211              : )
    3212              :     {
    3213            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1038;
    3214            0 :       {
    3215            0 :         tree res_op0;
    3216            0 :         {
    3217            0 :           tree _o1[2], _r1;
    3218            0 :           _o1[0] = captures[0];
    3219            0 :           _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    3220            0 :           _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3221            0 :           res_op0 = _r1;
    3222              :         }
    3223            0 :         tree _r;
    3224            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3225            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 831, __FILE__, __LINE__, true);
    3226              :         return _r;
    3227              :       }
    3228            0 : next_after_fail1038:;
    3229              :     }
    3230              :   return NULL_TREE;
    3231              : }
    3232              : 
    3233              : tree
    3234            0 : generic_simplify_627 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3235              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3236              : {
    3237            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3238            0 :   if (canonicalize_math_after_vectorization_p ()
    3239              : )
    3240              :     {
    3241              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1048;
    3242              :       {
    3243              :         tree res_op0;
    3244              :         res_op0 = captures[0];
    3245              :         tree res_op1;
    3246              :         res_op1 = captures[1];
    3247              :         tree res_op2;
    3248              :         res_op2 = captures[2];
    3249              :         tree _r;
    3250              :         _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3251              :         if (!_r)
    3252              :           goto next_after_fail1048;
    3253              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 841, __FILE__, __LINE__, true);
    3254              :         return _r;
    3255              :       }
    3256            0 : next_after_fail1048:;
    3257              :     }
    3258            0 :   return NULL_TREE;
    3259              : }
    3260              : 
    3261              : tree
    3262            0 : generic_simplify_636 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3263              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3264              :  const combined_fn ARG_UNUSED (ctz))
    3265              : {
    3266            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3267            0 :   {
    3268            0 :  tree t = TREE_TYPE (captures[0]);
    3269            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1057;
    3270            0 :       {
    3271            0 :         tree res_op0;
    3272            0 :         {
    3273            0 :           tree _o1[1], _r1;
    3274            0 :           _o1[0] = captures[1];
    3275            0 :           if (TREE_TYPE (_o1[0]) != t)
    3276              :             {
    3277            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3278              :             }
    3279              :           else
    3280              :             _r1 = _o1[0];
    3281            0 :           res_op0 = _r1;
    3282              :         }
    3283            0 :         tree _r;
    3284            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3285            0 :         if (!_r)
    3286            0 :           goto next_after_fail1057;
    3287            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
    3288              :         return _r;
    3289              :       }
    3290            0 : next_after_fail1057:;
    3291              :   }
    3292              :   return NULL_TREE;
    3293              : }
    3294              : 
    3295              : tree
    3296            0 : generic_simplify_645 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3297              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3298              :  const combined_fn ARG_UNUSED (pfun))
    3299              : {
    3300            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3301            0 :   if (INTEGRAL_TYPE_P (type)
    3302              : )
    3303              :     {
    3304            0 :       {
    3305            0 :  wide_int nz = tree_nonzero_bits (captures[0]);
    3306            0 :           if (nz == 1
    3307              : )
    3308              :             {
    3309            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1066;
    3310            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1066;
    3311            0 :               {
    3312            0 :                 tree res_op0;
    3313            0 :                 res_op0 = captures[0];
    3314            0 :                 tree _r;
    3315            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3316            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 854, __FILE__, __LINE__, true);
    3317              :                 return _r;
    3318              :               }
    3319            0 : next_after_fail1066:;
    3320              :             }
    3321              :           else
    3322              :             {
    3323            0 :               if (wi::popcount (nz) == 1
    3324              : )
    3325              :                 {
    3326            0 :                   {
    3327            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    3328            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1067;
    3329            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1067;
    3330            0 :                       {
    3331            0 :                         tree res_op0;
    3332            0 :                         {
    3333            0 :                           tree _o1[2], _r1;
    3334            0 :                           {
    3335            0 :                             tree _o2[1], _r2;
    3336            0 :                             _o2[0] = captures[0];
    3337            0 :                             if (TREE_TYPE (_o2[0]) != utype)
    3338              :                               {
    3339            0 :                                 _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    3340              :                               }
    3341              :                             else
    3342              :                               _r2 = _o2[0];
    3343            0 :                             _o1[0] = _r2;
    3344              :                           }
    3345            0 :                           _o1[1] =  build_int_cst (integer_type_node,
    3346            0 :  wi::ctz (nz));
    3347            0 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o1[0], _o1[1]);
    3348            0 :                           res_op0 = _r1;
    3349              :                         }
    3350            0 :                         tree _r;
    3351            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3352            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 855, __FILE__, __LINE__, true);
    3353              :                         return _r;
    3354              :                       }
    3355            0 : next_after_fail1067:;
    3356              :                   }
    3357              :                 }
    3358              :             }
    3359            0 :       }
    3360              :     }
    3361              :   return NULL_TREE;
    3362              : }
    3363              : 
    3364              : tree
    3365      2887577 : generic_simplify_BIT_NOT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3366              : {
    3367      2887577 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3368      2887577 :   switch (TREE_CODE (_p0))
    3369              :     {
    3370         1134 :     case BIT_AND_EXPR:
    3371         1134 :       {
    3372         1134 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3373         1134 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3374         1134 :         switch (TREE_CODE (_q20))
    3375              :           {
    3376           33 :           case BIT_NOT_EXPR:
    3377           33 :             {
    3378           33 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3379           33 :               {
    3380           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3381           33 :                 tree res = generic_simplify_525 (loc, type, _p0, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
    3382           33 :                 if (res) return res;
    3383              :               }
    3384            0 :               break;
    3385              :             }
    3386         1101 :           default:;
    3387              :           }
    3388         1101 :         switch (TREE_CODE (_q21))
    3389              :           {
    3390            9 :           case BIT_NOT_EXPR:
    3391            9 :             {
    3392            9 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3393            9 :               {
    3394            9 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3395            9 :                 tree res = generic_simplify_525 (loc, type, _p0, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
    3396            9 :                 if (res) return res;
    3397              :               }
    3398            0 :               break;
    3399              :             }
    3400              :           default:;
    3401              :           }
    3402              :         break;
    3403              :       }
    3404         1265 :     case BIT_IOR_EXPR:
    3405         1265 :       {
    3406         1265 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3407         1265 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3408         1265 :         switch (TREE_CODE (_q20))
    3409              :           {
    3410           68 :           case BIT_NOT_EXPR:
    3411           68 :             {
    3412           68 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3413           68 :               {
    3414           68 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3415           68 :                 tree res = generic_simplify_525 (loc, type, _p0, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
    3416           68 :                 if (res) return res;
    3417              :               }
    3418            0 :               break;
    3419              :             }
    3420         1197 :           default:;
    3421              :           }
    3422         1197 :         switch (TREE_CODE (_q21))
    3423              :           {
    3424           40 :           case BIT_NOT_EXPR:
    3425           40 :             {
    3426           40 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3427           40 :               {
    3428           40 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3429           40 :                 tree res = generic_simplify_525 (loc, type, _p0, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
    3430           40 :                 if (res) return res;
    3431              :               }
    3432            0 :               break;
    3433              :             }
    3434              :           default:;
    3435              :           }
    3436              :         break;
    3437              :       }
    3438          296 :     case MINUS_EXPR:
    3439          296 :       {
    3440          296 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3441          296 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3442          296 :         switch (TREE_CODE (_q20))
    3443              :           {
    3444            1 :           case BIT_NOT_EXPR:
    3445            1 :             {
    3446            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3447            1 :               {
    3448            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3449            1 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1107;
    3450            1 :                 {
    3451            1 :                   tree res_op0;
    3452            1 :                   res_op0 = captures[0];
    3453            1 :                   tree res_op1;
    3454            1 :                   res_op1 = captures[1];
    3455            1 :                   tree _r;
    3456            1 :                   _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3457            1 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 886, __FILE__, __LINE__, true);
    3458              :                   return _r;
    3459              :                 }
    3460            0 : next_after_fail1107:;
    3461              :               }
    3462            0 :               break;
    3463              :             }
    3464          295 :           default:;
    3465              :           }
    3466          295 :         {
    3467          295 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3468          295 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1108;
    3469          295 :           {
    3470          295 :             tree res_op0;
    3471          295 :             {
    3472          295 :               tree _o1[1], _r1;
    3473          295 :               _o1[0] = captures[1];
    3474          295 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3475          295 :               res_op0 = _r1;
    3476              :             }
    3477          295 :             tree res_op1;
    3478          295 :             res_op1 = captures[2];
    3479          295 :             tree _r;
    3480          295 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3481          295 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 887, __FILE__, __LINE__, true);
    3482              :             return _r;
    3483              :           }
    3484            0 : next_after_fail1108:;
    3485              :         }
    3486            0 :         if (integer_each_onep (_q21))
    3487              :           {
    3488            0 :             {
    3489            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3490            0 :               tree res = generic_simplify_526 (loc, type, _p0, captures);
    3491            0 :               if (res) return res;
    3492              :             }
    3493              :           }
    3494              :         break;
    3495              :       }
    3496       112628 :     case PLUS_EXPR:
    3497       112628 :       {
    3498       112628 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3499       112628 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3500       112628 :         switch (TREE_CODE (_q20))
    3501              :           {
    3502           16 :           case BIT_NOT_EXPR:
    3503           16 :             {
    3504           16 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3505           16 :               {
    3506           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3507           16 :                 tree res = generic_simplify_527 (loc, type, _p0, captures);
    3508           16 :                 if (res) return res;
    3509              :               }
    3510            0 :               break;
    3511              :             }
    3512       112612 :           default:;
    3513              :           }
    3514       112612 :         switch (TREE_CODE (_q21))
    3515              :           {
    3516            1 :           case BIT_NOT_EXPR:
    3517            1 :             {
    3518            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3519            1 :               {
    3520            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3521            1 :                 tree res = generic_simplify_527 (loc, type, _p0, captures);
    3522            1 :                 if (res) return res;
    3523              :               }
    3524            0 :               break;
    3525              :             }
    3526        85323 :           case INTEGER_CST:
    3527        85323 :             {
    3528        85323 :               {
    3529        85323 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3530        85323 :                 if ((INTEGRAL_TYPE_P (type)
    3531        85323 :  && TYPE_UNSIGNED (type))
    3532       100312 :  || (!TYPE_OVERFLOW_SANITIZED (type)
    3533        14981 :  && may_negate_without_overflow_p (captures[2]))
    3534              : )
    3535              :                   {
    3536        85308 :                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1109;
    3537        85308 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1109;
    3538        85308 :                     {
    3539        85308 :                       tree res_op0;
    3540        85308 :                       {
    3541        85308 :                         tree _o1[1], _r1;
    3542        85308 :                         _o1[0] = captures[1];
    3543        85308 :                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3544        85308 :                         res_op0 = _r1;
    3545              :                       }
    3546        85308 :                       tree res_op1;
    3547        85308 :                       res_op1 =  const_unop (NEGATE_EXPR, type, captures[2]);
    3548        85308 :                       tree _r;
    3549        85308 :                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3550        85308 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 888, __FILE__, __LINE__, true);
    3551              :                       return _r;
    3552              :                     }
    3553        27303 : next_after_fail1109:;
    3554              :                   }
    3555              :               }
    3556              :               break;
    3557              :             }
    3558        27303 :           default:;
    3559              :           }
    3560        27303 :       if (integer_all_onesp (_q21))
    3561              :         {
    3562            0 :           {
    3563            0 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3564            0 :             tree res = generic_simplify_528 (loc, type, _p0, captures);
    3565            0 :             if (res) return res;
    3566              :           }
    3567              :         }
    3568              :         break;
    3569              :       }
    3570          430 :     case RSHIFT_EXPR:
    3571          430 :       {
    3572          430 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3573          430 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3574          430 :         {
    3575          430 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3576          430 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    3577              : )
    3578              :             {
    3579          295 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1110;
    3580          295 :               {
    3581          295 :                 tree res_op0;
    3582          295 :                 {
    3583          295 :                   tree _o1[1], _r1;
    3584          295 :                   _o1[0] = captures[1];
    3585          295 :                   _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3586          295 :                   if (EXPR_P (_r1))
    3587          289 :                     goto next_after_fail1110;
    3588            6 :                   res_op0 = _r1;
    3589              :                 }
    3590            6 :                 tree res_op1;
    3591            6 :                 res_op1 = captures[2];
    3592            6 :                 tree _r;
    3593            6 :                 _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    3594            6 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    3595              :                 return _r;
    3596              :               }
    3597          409 : next_after_fail1110:;
    3598              :             }
    3599              :           else
    3600              :             {
    3601          270 :               if (INTEGRAL_TYPE_P (type)
    3602          270 :  && !wi::neg_p (tree_nonzero_bits (captures[1]))
    3603              : )
    3604              :                 {
    3605           15 :                   {
    3606           15 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    3607           15 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1111;
    3608           15 :                       {
    3609           15 :                         tree res_op0;
    3610           15 :                         {
    3611           15 :                           tree _o1[2], _r1;
    3612           15 :                           {
    3613           15 :                             tree _o2[1], _r2;
    3614           15 :                             {
    3615           15 :                               tree _o3[1], _r3;
    3616           15 :                               _o3[0] = captures[1];
    3617           15 :                               if (TREE_TYPE (_o3[0]) != stype)
    3618              :                                 {
    3619           15 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
    3620              :                                 }
    3621              :                               else
    3622              :                                 _r3 = _o3[0];
    3623           15 :                               _o2[0] = _r3;
    3624              :                             }
    3625           15 :                             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3626           15 :                             if (EXPR_P (_r2))
    3627            0 :                               goto next_after_fail1111;
    3628           15 :                             _o1[0] = _r2;
    3629              :                           }
    3630           15 :                           _o1[1] = captures[2];
    3631           15 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3632           15 :                           res_op0 = _r1;
    3633              :                         }
    3634           15 :                         tree _r;
    3635           15 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3636           15 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 890, __FILE__, __LINE__, true);
    3637              :                         return _r;
    3638              :                       }
    3639          409 : next_after_fail1111:;
    3640              :                   }
    3641              :                 }
    3642              :             }
    3643              :         }
    3644          409 :         switch (TREE_CODE (_q20))
    3645              :           {
    3646           72 :           CASE_CONVERT:
    3647           72 :             {
    3648           72 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3649           72 :               switch (TREE_CODE (_q30))
    3650              :                 {
    3651            2 :                 case BIT_NOT_EXPR:
    3652            2 :                   {
    3653            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3654            2 :                     {
    3655            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3656            2 :                       tree res = generic_simplify_529 (loc, type, _p0, captures);
    3657            2 :                       if (res) return res;
    3658              :                     }
    3659            1 :                     break;
    3660              :                   }
    3661              :                 default:;
    3662              :                 }
    3663              :               break;
    3664              :             }
    3665           29 :           case BIT_NOT_EXPR:
    3666           29 :             {
    3667           29 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3668           29 :               {
    3669           29 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3670           29 :                 tree res = generic_simplify_529 (loc, type, _p0, captures);
    3671           29 :                 if (res) return res;
    3672              :               }
    3673            8 :               break;
    3674              :             }
    3675              :           default:;
    3676              :           }
    3677              :         break;
    3678              :       }
    3679           86 :     case BIT_NOT_EXPR:
    3680           86 :       {
    3681           86 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3682           86 :         {
    3683           86 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3684           86 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1112;
    3685           86 :           {
    3686           86 :             tree res_op0;
    3687           86 :             res_op0 = captures[0];
    3688           86 :             tree _r;
    3689           86 :             _r = non_lvalue_loc (loc, res_op0);
    3690           86 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    3691      2887577 :             return _r;
    3692              :           }
    3693            0 : next_after_fail1112:;
    3694              :         }
    3695            0 :         break;
    3696              :       }
    3697      1171652 :     CASE_CONVERT:
    3698      1171652 :       {
    3699      1171652 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3700      1171652 :         switch (TREE_CODE (_q20))
    3701              :           {
    3702           25 :           case NEGATE_EXPR:
    3703           25 :             {
    3704           25 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3705           25 :               {
    3706           25 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3707           25 :                 tree res = generic_simplify_530 (loc, type, _p0, captures);
    3708           25 :                 if (res) return res;
    3709              :               }
    3710            0 :               break;
    3711              :             }
    3712          904 :           case MINUS_EXPR:
    3713          904 :             {
    3714          904 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3715          904 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3716          904 :               if (integer_each_onep (_q31))
    3717              :                 {
    3718           28 :                   {
    3719           28 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3720           28 :                     tree res = generic_simplify_526 (loc, type, _p0, captures);
    3721           28 :                     if (res) return res;
    3722              :                   }
    3723              :                 }
    3724              :               break;
    3725              :             }
    3726        58113 :           case PLUS_EXPR:
    3727        58113 :             {
    3728        58113 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3729        58113 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3730        58113 :               if (integer_all_onesp (_q31))
    3731              :                 {
    3732         3849 :                   {
    3733         3849 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3734         3849 :                     tree res = generic_simplify_528 (loc, type, _p0, captures);
    3735         3849 :                     if (res) return res;
    3736              :                   }
    3737              :                 }
    3738              :               break;
    3739              :             }
    3740          145 :           case BIT_XOR_EXPR:
    3741          145 :             {
    3742          145 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3743          145 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3744          145 :               switch (TREE_CODE (_q31))
    3745              :                 {
    3746            7 :                 case INTEGER_CST:
    3747            7 :                   {
    3748            7 :                     {
    3749            7 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3750            7 :                       tree res = generic_simplify_531 (loc, type, _p0, captures);
    3751            7 :                       if (res) return res;
    3752              :                     }
    3753            0 :                     break;
    3754              :                   }
    3755          138 :                 default:;
    3756              :                 }
    3757          138 :               switch (TREE_CODE (_q30))
    3758              :                 {
    3759            0 :                 case BIT_NOT_EXPR:
    3760            0 :                   {
    3761            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3762            0 :                     {
    3763            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
    3764            0 :                       tree res = generic_simplify_532 (loc, type, _p0, captures);
    3765            0 :                       if (res) return res;
    3766              :                     }
    3767            0 :                     break;
    3768              :                   }
    3769          138 :                 default:;
    3770              :                 }
    3771          138 :               switch (TREE_CODE (_q31))
    3772              :                 {
    3773            0 :                 case BIT_NOT_EXPR:
    3774            0 :                   {
    3775            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    3776            0 :                     {
    3777            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    3778            0 :                       tree res = generic_simplify_532 (loc, type, _p0, captures);
    3779            0 :                       if (res) return res;
    3780              :                     }
    3781            0 :                     break;
    3782              :                   }
    3783              :                 default:;
    3784              :                 }
    3785              :               break;
    3786              :             }
    3787           93 :           case RSHIFT_EXPR:
    3788           93 :             {
    3789           93 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3790           93 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3791           93 :               switch (TREE_CODE (_q30))
    3792              :                 {
    3793           17 :                 CASE_CONVERT:
    3794           17 :                   {
    3795           17 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3796           17 :                     switch (TREE_CODE (_q40))
    3797              :                       {
    3798            1 :                       case BIT_NOT_EXPR:
    3799            1 :                         {
    3800            1 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3801            1 :                           {
    3802            1 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3803            1 :                             tree res = generic_simplify_533 (loc, type, _p0, captures);
    3804            1 :                             if (res) return res;
    3805              :                           }
    3806            0 :                           break;
    3807              :                         }
    3808              :                       default:;
    3809              :                       }
    3810              :                     break;
    3811              :                   }
    3812            3 :                 case BIT_NOT_EXPR:
    3813            3 :                   {
    3814            3 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3815            3 :                     {
    3816            3 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3817            3 :                       tree res = generic_simplify_533 (loc, type, _p0, captures);
    3818            3 :                       if (res) return res;
    3819              :                     }
    3820            1 :                     break;
    3821              :                   }
    3822              :                 default:;
    3823              :                 }
    3824              :               break;
    3825              :             }
    3826            0 :           case LROTATE_EXPR:
    3827            0 :             {
    3828            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3829            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3830            0 :               switch (TREE_CODE (_q30))
    3831              :                 {
    3832            0 :                 CASE_CONVERT:
    3833            0 :                   {
    3834            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3835            0 :                     switch (TREE_CODE (_q40))
    3836              :                       {
    3837            0 :                       case BIT_NOT_EXPR:
    3838            0 :                         {
    3839            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3840            0 :                           {
    3841            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3842            0 :                             tree res = generic_simplify_534 (loc, type, _p0, captures, LROTATE_EXPR);
    3843            0 :                             if (res) return res;
    3844              :                           }
    3845            0 :                           break;
    3846              :                         }
    3847              :                       default:;
    3848              :                       }
    3849              :                     break;
    3850              :                   }
    3851            0 :                 case BIT_NOT_EXPR:
    3852            0 :                   {
    3853            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3854            0 :                     {
    3855            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3856            0 :                       tree res = generic_simplify_534 (loc, type, _p0, captures, LROTATE_EXPR);
    3857            0 :                       if (res) return res;
    3858              :                     }
    3859            0 :                     break;
    3860              :                   }
    3861              :                 default:;
    3862              :                 }
    3863              :               break;
    3864              :             }
    3865            0 :           case RROTATE_EXPR:
    3866            0 :             {
    3867            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3868            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3869            0 :               switch (TREE_CODE (_q30))
    3870              :                 {
    3871            0 :                 CASE_CONVERT:
    3872            0 :                   {
    3873            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3874            0 :                     switch (TREE_CODE (_q40))
    3875              :                       {
    3876            0 :                       case BIT_NOT_EXPR:
    3877            0 :                         {
    3878            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3879            0 :                           {
    3880            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3881            0 :                             tree res = generic_simplify_534 (loc, type, _p0, captures, RROTATE_EXPR);
    3882            0 :                             if (res) return res;
    3883              :                           }
    3884            0 :                           break;
    3885              :                         }
    3886              :                       default:;
    3887              :                       }
    3888              :                     break;
    3889              :                   }
    3890            0 :                 case BIT_NOT_EXPR:
    3891            0 :                   {
    3892            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3893            0 :                     {
    3894            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3895            0 :                       tree res = generic_simplify_534 (loc, type, _p0, captures, RROTATE_EXPR);
    3896            0 :                       if (res) return res;
    3897              :                     }
    3898            0 :                     break;
    3899              :                   }
    3900              :                 default:;
    3901              :                 }
    3902              :               break;
    3903              :             }
    3904              :           default:;
    3905              :           }
    3906              :         break;
    3907              :       }
    3908          120 :     case NEGATE_EXPR:
    3909          120 :       {
    3910          120 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3911          120 :         {
    3912          120 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3913          120 :           tree res = generic_simplify_530 (loc, type, _p0, captures);
    3914          120 :           if (res) return res;
    3915              :         }
    3916            0 :         break;
    3917              :       }
    3918         1579 :     case BIT_XOR_EXPR:
    3919         1579 :       {
    3920         1579 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3921         1579 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3922         1579 :         switch (TREE_CODE (_q21))
    3923              :           {
    3924           22 :           case INTEGER_CST:
    3925           22 :             {
    3926           22 :               {
    3927           22 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3928           22 :                 tree res = generic_simplify_531 (loc, type, _p0, captures);
    3929           22 :                 if (res) return res;
    3930              :               }
    3931            0 :               break;
    3932              :             }
    3933         1557 :           default:;
    3934              :           }
    3935         1557 :         switch (TREE_CODE (_q20))
    3936              :           {
    3937            0 :           case BIT_NOT_EXPR:
    3938            0 :             {
    3939            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3940            0 :               {
    3941            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3942            0 :                 tree res = generic_simplify_532 (loc, type, _p0, captures);
    3943            0 :                 if (res) return res;
    3944              :               }
    3945            0 :               break;
    3946              :             }
    3947         1557 :           default:;
    3948              :           }
    3949         1557 :         switch (TREE_CODE (_q21))
    3950              :           {
    3951            0 :           case BIT_NOT_EXPR:
    3952            0 :             {
    3953            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3954            0 :               {
    3955            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3956            0 :                 tree res = generic_simplify_532 (loc, type, _p0, captures);
    3957            0 :                 if (res) return res;
    3958              :               }
    3959            0 :               break;
    3960              :             }
    3961         1557 :           default:;
    3962              :           }
    3963         1557 :         if (tree_truth_valued_p (_q20))
    3964              :           {
    3965           31 :             if (tree_truth_valued_p (_q21))
    3966              :               {
    3967            7 :                 {
    3968            7 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3969           14 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3970           14 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    3971              : )
    3972              :                     {
    3973            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1113;
    3974            0 :                       {
    3975            0 :                         tree res_op0;
    3976            0 :                         {
    3977            0 :                           tree _o1[2], _r1;
    3978            0 :                           _o1[0] = captures[1];
    3979            0 :                           _o1[1] = captures[2];
    3980            0 :                           _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3981            0 :                           res_op0 = _r1;
    3982              :                         }
    3983            0 :                         tree _r;
    3984            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3985            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    3986              :                         return _r;
    3987              :                       }
    3988            0 : next_after_fail1113:;
    3989              :                     }
    3990              :                 }
    3991              :               }
    3992              :           }
    3993              :         break;
    3994              :       }
    3995            0 :     case MIN_EXPR:
    3996            0 :       {
    3997            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3998            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3999            0 :         switch (TREE_CODE (_q20))
    4000              :           {
    4001            0 :           case BIT_NOT_EXPR:
    4002            0 :             {
    4003            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4004            0 :               {
    4005            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    4006            0 :                 tree res = generic_simplify_535 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    4007            0 :                 if (res) return res;
    4008              :               }
    4009            0 :               break;
    4010              :             }
    4011            0 :           default:;
    4012              :           }
    4013            0 :         switch (TREE_CODE (_q21))
    4014              :           {
    4015            0 :           case BIT_NOT_EXPR:
    4016            0 :             {
    4017            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4018            0 :               {
    4019            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    4020            0 :                 tree res = generic_simplify_535 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    4021            0 :                 if (res) return res;
    4022              :               }
    4023            0 :               break;
    4024              :             }
    4025              :           default:;
    4026              :           }
    4027              :         break;
    4028              :       }
    4029            0 :     case MAX_EXPR:
    4030            0 :       {
    4031            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4032            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4033            0 :         switch (TREE_CODE (_q20))
    4034              :           {
    4035            0 :           case BIT_NOT_EXPR:
    4036            0 :             {
    4037            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4038            0 :               {
    4039            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    4040            0 :                 tree res = generic_simplify_535 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    4041            0 :                 if (res) return res;
    4042              :               }
    4043            0 :               break;
    4044              :             }
    4045            0 :           default:;
    4046              :           }
    4047            0 :         switch (TREE_CODE (_q21))
    4048              :           {
    4049            0 :           case BIT_NOT_EXPR:
    4050            0 :             {
    4051            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    4052            0 :               {
    4053            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    4054            0 :                 tree res = generic_simplify_535 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    4055            0 :                 if (res) return res;
    4056              :               }
    4057            0 :               break;
    4058              :             }
    4059              :           default:;
    4060              :           }
    4061              :         break;
    4062              :       }
    4063            1 :     case LROTATE_EXPR:
    4064            1 :       {
    4065            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4066            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4067            1 :         switch (TREE_CODE (_q20))
    4068              :           {
    4069            0 :           CASE_CONVERT:
    4070            0 :             {
    4071            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4072            0 :               switch (TREE_CODE (_q30))
    4073              :                 {
    4074            0 :                 case BIT_NOT_EXPR:
    4075            0 :                   {
    4076            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    4077            0 :                     {
    4078            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    4079            0 :                       tree res = generic_simplify_536 (loc, type, _p0, captures, LROTATE_EXPR);
    4080            0 :                       if (res) return res;
    4081              :                     }
    4082            0 :                     break;
    4083              :                   }
    4084              :                 default:;
    4085              :                 }
    4086              :               break;
    4087              :             }
    4088            1 :           case BIT_NOT_EXPR:
    4089            1 :             {
    4090            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4091            1 :               {
    4092            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    4093            1 :                 tree res = generic_simplify_536 (loc, type, _p0, captures, LROTATE_EXPR);
    4094            1 :                 if (res) return res;
    4095              :               }
    4096            0 :               break;
    4097              :             }
    4098              :           default:;
    4099              :           }
    4100              :         break;
    4101              :       }
    4102            1 :     case RROTATE_EXPR:
    4103            1 :       {
    4104            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4105            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4106            1 :         switch (TREE_CODE (_q20))
    4107              :           {
    4108            0 :           CASE_CONVERT:
    4109            0 :             {
    4110            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4111            0 :               switch (TREE_CODE (_q30))
    4112              :                 {
    4113            0 :                 case BIT_NOT_EXPR:
    4114            0 :                   {
    4115            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    4116            0 :                     {
    4117            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    4118            0 :                       tree res = generic_simplify_536 (loc, type, _p0, captures, RROTATE_EXPR);
    4119            0 :                       if (res) return res;
    4120              :                     }
    4121            0 :                     break;
    4122              :                   }
    4123              :                 default:;
    4124              :                 }
    4125              :               break;
    4126              :             }
    4127            1 :           case BIT_NOT_EXPR:
    4128            1 :             {
    4129            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4130            1 :               {
    4131            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    4132            1 :                 tree res = generic_simplify_536 (loc, type, _p0, captures, RROTATE_EXPR);
    4133            1 :                 if (res) return res;
    4134              :               }
    4135            0 :               break;
    4136              :             }
    4137              :           default:;
    4138              :           }
    4139              :         break;
    4140              :       }
    4141           32 :     case VEC_COND_EXPR:
    4142           32 :       {
    4143           32 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4144           32 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4145           32 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4146           32 :         {
    4147           32 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4148           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1114;
    4149           32 :           {
    4150           32 :             tree res_op0;
    4151           32 :             res_op0 = captures[1];
    4152           32 :             tree res_op1;
    4153           32 :             {
    4154           32 :               tree _o1[1], _r1;
    4155           32 :               _o1[0] = captures[2];
    4156           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    4157           32 :               if (EXPR_P (_r1))
    4158            0 :                 goto next_after_fail1114;
    4159           32 :               res_op1 = _r1;
    4160              :             }
    4161           32 :             tree res_op2;
    4162           32 :             {
    4163           32 :               tree _o1[1], _r1;
    4164           32 :               _o1[0] = captures[3];
    4165           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    4166           32 :               if (EXPR_P (_r1))
    4167            0 :                 goto next_after_fail1114;
    4168           32 :               res_op2 = _r1;
    4169              :             }
    4170           32 :             tree _r;
    4171           32 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4172           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 868, __FILE__, __LINE__, true);
    4173              :             return _r;
    4174              :           }
    4175      2887577 : next_after_fail1114:;
    4176              :         }
    4177              :         break;
    4178              :       }
    4179            4 :     case LT_EXPR:
    4180            4 :       {
    4181            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4182            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4183            4 :         {
    4184            4 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4185            4 :           tree res = generic_simplify_537 (loc, type, _p0, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    4186            4 :           if (res) return res;
    4187              :         }
    4188            4 :         break;
    4189              :       }
    4190            8 :     case LE_EXPR:
    4191            8 :       {
    4192            8 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4193            8 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4194            8 :         {
    4195            8 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4196            8 :           tree res = generic_simplify_537 (loc, type, _p0, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    4197            8 :           if (res) return res;
    4198              :         }
    4199            8 :         break;
    4200              :       }
    4201           64 :     case EQ_EXPR:
    4202           64 :       {
    4203           64 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4204           64 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4205           64 :         {
    4206           64 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4207           64 :           tree res = generic_simplify_537 (loc, type, _p0, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    4208           64 :           if (res) return res;
    4209              :         }
    4210           57 :         break;
    4211              :       }
    4212          112 :     case NE_EXPR:
    4213          112 :       {
    4214          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4215          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4216          112 :         {
    4217          112 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4218          112 :           tree res = generic_simplify_537 (loc, type, _p0, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    4219          112 :           if (res) return res;
    4220              :         }
    4221          107 :         break;
    4222              :       }
    4223            0 :     case GE_EXPR:
    4224            0 :       {
    4225            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4226            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4227            0 :         {
    4228            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4229            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    4230            0 :           if (res) return res;
    4231              :         }
    4232            0 :         break;
    4233              :       }
    4234           66 :     case GT_EXPR:
    4235           66 :       {
    4236           66 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4237           66 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4238           66 :         {
    4239           66 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4240           66 :           tree res = generic_simplify_537 (loc, type, _p0, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    4241           66 :           if (res) return res;
    4242              :         }
    4243           66 :         break;
    4244              :       }
    4245            0 :     case UNORDERED_EXPR:
    4246            0 :       {
    4247            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4248            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4249            0 :         {
    4250            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4251            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    4252            0 :           if (res) return res;
    4253              :         }
    4254            0 :         break;
    4255              :       }
    4256            0 :     case ORDERED_EXPR:
    4257            0 :       {
    4258            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4259            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4260            0 :         {
    4261            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4262            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    4263            0 :           if (res) return res;
    4264              :         }
    4265            0 :         break;
    4266              :       }
    4267            0 :     case UNLT_EXPR:
    4268            0 :       {
    4269            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4270            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4271            0 :         {
    4272            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4273            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    4274            0 :           if (res) return res;
    4275              :         }
    4276            0 :         break;
    4277              :       }
    4278            0 :     case UNLE_EXPR:
    4279            0 :       {
    4280            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4281            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4282            0 :         {
    4283            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4284            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    4285            0 :           if (res) return res;
    4286              :         }
    4287            0 :         break;
    4288              :       }
    4289            0 :     case UNGT_EXPR:
    4290            0 :       {
    4291            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4292            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4293            0 :         {
    4294            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4295            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    4296            0 :           if (res) return res;
    4297              :         }
    4298            0 :         break;
    4299              :       }
    4300            0 :     case UNGE_EXPR:
    4301            0 :       {
    4302            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4303            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4304            0 :         {
    4305            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4306            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    4307            0 :           if (res) return res;
    4308              :         }
    4309            0 :         break;
    4310              :       }
    4311            0 :     case UNEQ_EXPR:
    4312            0 :       {
    4313            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4314            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4315            0 :         {
    4316            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4317            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    4318            0 :           if (res) return res;
    4319              :         }
    4320            0 :         break;
    4321              :       }
    4322            0 :     case LTGT_EXPR:
    4323            0 :       {
    4324            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4325            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4326            0 :         {
    4327            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4328            0 :           tree res = generic_simplify_537 (loc, type, _p0, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    4329            0 :           if (res) return res;
    4330              :         }
    4331            0 :         break;
    4332              :       }
    4333              :     default:;
    4334              :     }
    4335              :   return NULL_TREE;
    4336              : }
    4337              : 
    4338              : tree
    4339      2200761 : generic_simplify_TRUNC_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4340              : {
    4341      2200761 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4342      2200761 :   if (integer_onep (_p1))
    4343              :     {
    4344        22496 :       {
    4345        22496 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4346        22496 :         tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4347        22496 :         if (res) return res;
    4348              :       }
    4349              :     }
    4350      2178265 :   switch (TREE_CODE (_p0))
    4351              :     {
    4352       167399 :     CASE_CONVERT:
    4353       167399 :       {
    4354       167399 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4355       167399 :         switch (TREE_CODE (_p1))
    4356              :           {
    4357        39280 :           CASE_CONVERT:
    4358        39280 :             {
    4359        39280 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4360        39280 :               switch (TREE_CODE (_q40))
    4361              :                 {
    4362            0 :                 case LSHIFT_EXPR:
    4363            0 :                   {
    4364            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4365            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    4366            0 :                     if (integer_onep (_q50))
    4367              :                       {
    4368            0 :                         {
    4369            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
    4370            0 :                           tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4371            0 :                           if (res) return res;
    4372              :                         }
    4373              :                       }
    4374              :                     break;
    4375              :                   }
    4376              :                 default:;
    4377              :                 }
    4378              :               break;
    4379              :             }
    4380            8 :           case LSHIFT_EXPR:
    4381            8 :             {
    4382            8 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4383            8 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4384            8 :               if (integer_onep (_q40))
    4385              :                 {
    4386            7 :                   {
    4387            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
    4388            7 :                     tree res = generic_simplify_329 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4389            7 :                     if (res) return res;
    4390              :                   }
    4391              :                 }
    4392              :               break;
    4393              :             }
    4394              :           default:;
    4395              :           }
    4396              :         break;
    4397              :       }
    4398      2178265 :     default:;
    4399              :     }
    4400      2178265 :   switch (TREE_CODE (_p1))
    4401              :     {
    4402       139361 :     CASE_CONVERT:
    4403       139361 :       {
    4404       139361 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4405       139361 :         switch (TREE_CODE (_q30))
    4406              :           {
    4407            7 :           case LSHIFT_EXPR:
    4408            7 :             {
    4409            7 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4410            7 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4411            7 :               if (integer_onep (_q40))
    4412              :                 {
    4413            7 :                   {
    4414            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
    4415            7 :                     tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4416            7 :                     if (res) return res;
    4417              :                   }
    4418              :                 }
    4419              :               break;
    4420              :             }
    4421              :           default:;
    4422              :           }
    4423              :         break;
    4424              :       }
    4425           34 :     case LSHIFT_EXPR:
    4426           34 :       {
    4427           34 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4428           34 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4429           34 :         if (integer_onep (_q30))
    4430              :           {
    4431           17 :             {
    4432           17 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
    4433           17 :               tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4434           17 :               if (res) return res;
    4435              :             }
    4436              :           }
    4437              :         break;
    4438              :       }
    4439      2178256 :     default:;
    4440              :     }
    4441      2178256 :   if (integer_zerop (_p0))
    4442              :     {
    4443         2362 :       {
    4444         2362 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4445         2362 :         tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4446         2362 :         if (res) return res;
    4447              :       }
    4448              :     }
    4449      2176523 :   switch (TREE_CODE (_p1))
    4450              :     {
    4451        13804 :     case SSA_NAME:
    4452        13804 :       {
    4453        13804 :         {
    4454        13804 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4455        13804 :           tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4456        13804 :           if (res) return res;
    4457              :         }
    4458        13804 :         break;
    4459              :       }
    4460      2176523 :     default:;
    4461              :     }
    4462      2176523 : if (integer_minus_onep (_p1))
    4463              :   {
    4464         2520 :     {
    4465         2520 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4466         2520 :       tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4467         2520 :       if (res) return res;
    4468              :     }
    4469              :   }
    4470      2174901 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4471              :     {
    4472          896 :       {
    4473          896 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4474          896 :         tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4475          896 :         if (res) return res;
    4476              :       }
    4477              :     }
    4478      2174790 :   switch (TREE_CODE (_p1))
    4479              :     {
    4480            1 :     case ABS_EXPR:
    4481            1 :       {
    4482            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4483            1 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4484              :           {
    4485            1 :             {
    4486            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4487            1 :               tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4488            1 :               if (res) return res;
    4489              :             }
    4490              :           }
    4491              :         break;
    4492              :       }
    4493      2174789 :     default:;
    4494              :     }
    4495      2174789 :   switch (TREE_CODE (_p0))
    4496              :     {
    4497            0 :     case ABS_EXPR:
    4498            0 :       {
    4499            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4500            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4501              :           {
    4502            0 :             {
    4503            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4504            0 :               tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4505            0 :               if (res) return res;
    4506              :             }
    4507              :           }
    4508              :         break;
    4509              :       }
    4510      2174789 :     default:;
    4511              :     }
    4512      2174789 :   switch (TREE_CODE (_p1))
    4513              :     {
    4514          658 :     case NEGATE_EXPR:
    4515          658 :       {
    4516          658 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4517          658 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4518              :           {
    4519            1 :             {
    4520            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4521            1 :               tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4522            1 :               if (res) return res;
    4523              :             }
    4524              :           }
    4525              :         break;
    4526              :       }
    4527      2174788 :     default:;
    4528              :     }
    4529      2174788 :   switch (TREE_CODE (_p0))
    4530              :     {
    4531          442 :     case NEGATE_EXPR:
    4532          442 :       {
    4533          442 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4534          442 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4535              :           {
    4536            0 :             {
    4537            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4538            0 :               tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4539            0 :               if (res) return res;
    4540              :             }
    4541              :           }
    4542              :         break;
    4543              :       }
    4544         9523 :     case TRUNC_DIV_EXPR:
    4545         9523 :       {
    4546         9523 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4547         9523 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4548         9523 :         switch (TREE_CODE (_q21))
    4549              :           {
    4550         9434 :           case INTEGER_CST:
    4551         9434 :             {
    4552         9434 :               switch (TREE_CODE (_p1))
    4553              :                 {
    4554         9433 :                 case INTEGER_CST:
    4555         9433 :                   {
    4556         9433 :                     {
    4557         9433 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4558         9433 :                       tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4559         9433 :                       if (res) return res;
    4560              :                     }
    4561         9433 :                     break;
    4562              :                   }
    4563              :                 default:;
    4564              :                 }
    4565              :               break;
    4566              :             }
    4567              :           default:;
    4568              :           }
    4569              :         break;
    4570              :       }
    4571       167358 :     CASE_CONVERT:
    4572       167358 :       {
    4573       167358 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4574       167358 :         switch (TREE_CODE (_q20))
    4575              :           {
    4576            0 :           case BIT_AND_EXPR:
    4577            0 :             {
    4578            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4579            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4580            0 :               switch (TREE_CODE (_q31))
    4581              :                 {
    4582            0 :                 case INTEGER_CST:
    4583            0 :                   {
    4584            0 :                     switch (TREE_CODE (_p1))
    4585              :                       {
    4586            0 :                       case INTEGER_CST:
    4587            0 :                         {
    4588            0 :                           {
    4589            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4590            0 :                             tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4591            0 :                             if (res) return res;
    4592              :                           }
    4593            0 :                           break;
    4594              :                         }
    4595              :                       default:;
    4596              :                       }
    4597              :                     break;
    4598              :                   }
    4599              :                 default:;
    4600              :                 }
    4601              :               break;
    4602              :             }
    4603              :           default:;
    4604              :           }
    4605              :         break;
    4606              :       }
    4607        47302 :     case BIT_AND_EXPR:
    4608        47302 :       {
    4609        47302 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4610        47302 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4611        47302 :         switch (TREE_CODE (_q21))
    4612              :           {
    4613        47276 :           case INTEGER_CST:
    4614        47276 :             {
    4615        47276 :               switch (TREE_CODE (_p1))
    4616              :                 {
    4617        47272 :                 case INTEGER_CST:
    4618        47272 :                   {
    4619        47272 :                     {
    4620        47272 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4621        47272 :                       tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4622        47272 :                       if (res) return res;
    4623              :                     }
    4624        47271 :                     break;
    4625              :                   }
    4626              :                 default:;
    4627              :                 }
    4628              :               break;
    4629              :             }
    4630              :           default:;
    4631              :           }
    4632              :         break;
    4633              :       }
    4634        41965 :     case MULT_EXPR:
    4635        41965 :       {
    4636        41965 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4637        41965 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4638        41965 :         if (integer_pow2p (_q21))
    4639              :           {
    4640         7695 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4641              :               {
    4642         7161 :                 {
    4643         7161 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4644         7161 :                   tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4645         7161 :                   if (res) return res;
    4646              :                 }
    4647              :               }
    4648              :           }
    4649        34945 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4650              :           {
    4651          163 :             {
    4652          163 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4653          163 :               tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4654          163 :               if (res) return res;
    4655              :             }
    4656              :           }
    4657        34797 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4658              :           {
    4659           22 :             {
    4660           22 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4661           22 :               tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4662           22 :               if (res) return res;
    4663              :             }
    4664              :           }
    4665        34788 :         switch (TREE_CODE (_q21))
    4666              :           {
    4667        34450 :           case INTEGER_CST:
    4668        34450 :             {
    4669        34450 :               switch (TREE_CODE (_p1))
    4670              :                 {
    4671            3 :                 case MULT_EXPR:
    4672            3 :                   {
    4673            3 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4674            3 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4675            3 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4676              :                       {
    4677            3 :                         switch (TREE_CODE (_q51))
    4678              :                           {
    4679            3 :                           case INTEGER_CST:
    4680            3 :                             {
    4681            3 :                               {
    4682            3 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4683            3 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4684            3 :                                 if (res) return res;
    4685              :                               }
    4686            0 :                               break;
    4687              :                             }
    4688              :                           default:;
    4689              :                           }
    4690              :                       }
    4691              :                     break;
    4692              :                   }
    4693              :                 default:;
    4694              :                 }
    4695              :               break;
    4696              :             }
    4697              :           default:;
    4698              :           }
    4699              :         break;
    4700              :       }
    4701            0 :     case VEC_COND_EXPR:
    4702            0 :       {
    4703            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4704            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4705            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4706            0 :         switch (TREE_CODE (_p1))
    4707              :           {
    4708            0 :           case VEC_COND_EXPR:
    4709            0 :             {
    4710            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4711            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4712            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4713            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4714              :                 {
    4715            0 :                   {
    4716            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4717            0 :                     if (VECTOR_TYPE_P (type)
    4718              :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4719              :  || types_match (type, TREE_TYPE (captures[2]))
    4720              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4721              :  || (optimize_vectors_before_lowering_p ()
    4722              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4723              : )
    4724              :                       {
    4725            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1654;
    4726            0 :                         {
    4727            0 :                           tree res_op0;
    4728            0 :                           res_op0 = captures[1];
    4729            0 :                           tree res_op1;
    4730            0 :                           {
    4731            0 :                             tree _o1[2], _r1;
    4732            0 :                             _o1[0] = captures[2];
    4733            0 :                             _o1[1] = captures[5];
    4734            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4735            0 :                             if (EXPR_P (_r1))
    4736            0 :                               goto next_after_fail1654;
    4737            0 :                             res_op1 = _r1;
    4738              :                           }
    4739            0 :                           tree res_op2;
    4740            0 :                           {
    4741            0 :                             tree _o1[2], _r1;
    4742            0 :                             _o1[0] = captures[3];
    4743            0 :                             _o1[1] = captures[6];
    4744            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4745            0 :                             if (EXPR_P (_r1))
    4746            0 :                               goto next_after_fail1654;
    4747            0 :                             res_op2 = _r1;
    4748              :                           }
    4749            0 :                           tree _r;
    4750            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4751            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    4752              :                           return _r;
    4753              :                         }
    4754            0 : next_after_fail1654:;
    4755              :                       }
    4756              :                   }
    4757              :                 }
    4758              :               break;
    4759              :             }
    4760            0 :           default:;
    4761              :           }
    4762            0 :         {
    4763            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4764            0 :           if (VECTOR_TYPE_P (type)
    4765              :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4766              :  || types_match (type, TREE_TYPE (captures[2]))
    4767              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4768              :  || (optimize_vectors_before_lowering_p ()
    4769              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4770              : )
    4771              :             {
    4772            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1655;
    4773            0 :               {
    4774            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1655;
    4775            0 :                 tree res_op0;
    4776            0 :                 res_op0 = captures[1];
    4777            0 :                 tree res_op1;
    4778            0 :                 {
    4779            0 :                   tree _o1[2], _r1;
    4780            0 :                   _o1[0] = captures[2];
    4781            0 :                   _o1[1] = unshare_expr (captures[4]);
    4782            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4783            0 :                   if (EXPR_P (_r1))
    4784            0 :                     goto next_after_fail1655;
    4785            0 :                   res_op1 = _r1;
    4786              :                 }
    4787            0 :                 tree res_op2;
    4788            0 :                 {
    4789            0 :                   tree _o1[2], _r1;
    4790            0 :                   _o1[0] = captures[3];
    4791            0 :                   _o1[1] = captures[4];
    4792            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4793            0 :                   if (EXPR_P (_r1))
    4794            0 :                     goto next_after_fail1655;
    4795            0 :                   res_op2 = _r1;
    4796              :                 }
    4797            0 :                 tree _r;
    4798            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4799            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    4800              :                 return _r;
    4801              :               }
    4802      2167607 : next_after_fail1655:;
    4803              :             }
    4804              :         }
    4805              :         break;
    4806              :       }
    4807      2167607 :     default:;
    4808              :     }
    4809      2167607 : if (integer_onep (_p0))
    4810              :   {
    4811         1239 :     {
    4812         1239 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4813         1239 :       if (INTEGRAL_TYPE_P (type)
    4814         1236 :  && TYPE_PRECISION (type) > 1
    4815         1236 :  && !integer_zerop (captures[1])
    4816         1721 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
    4817              : )
    4818              :         {
    4819          425 :           if (TYPE_UNSIGNED (type)
    4820          425 :  || tree_expr_nonnegative_p (captures[1])
    4821              : )
    4822              :             {
    4823           57 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1656;
    4824           57 :               {
    4825           57 :                 tree res_op0;
    4826           57 :                 {
    4827           57 :                   tree _o1[2], _r1;
    4828           57 :                   _o1[0] = captures[1];
    4829           57 :                   _o1[1] = captures[0];
    4830           57 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4831           57 :                   res_op0 = _r1;
    4832              :                 }
    4833           57 :                 tree _r;
    4834           57 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4835           57 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
    4836              :                 return _r;
    4837              :               }
    4838            0 : next_after_fail1656:;
    4839              :             }
    4840              :           else
    4841              :             {
    4842          368 :               if (fold_before_rtl_expansion_p ()
    4843              : )
    4844              :                 {
    4845            0 :                   {
    4846            0 :  tree utype = unsigned_type_for (type);
    4847            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1657;
    4848            0 :                       {
    4849            0 :                         if (! tree_invariant_p (captures[1])) goto next_after_fail1657;
    4850            0 :                         tree res_op0;
    4851            0 :                         {
    4852            0 :                           tree _o1[2], _r1;
    4853            0 :                           {
    4854            0 :                             tree _o2[2], _r2;
    4855            0 :                             {
    4856            0 :                               tree _o3[1], _r3;
    4857            0 :                               _o3[0] = unshare_expr (captures[1]);
    4858            0 :                               if (TREE_TYPE (_o3[0]) != utype)
    4859              :                                 {
    4860            0 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    4861              :                                 }
    4862              :                               else
    4863              :                                 _r3 = _o3[0];
    4864            0 :                               _o2[0] = _r3;
    4865              :                             }
    4866            0 :                             _o2[1] =  build_one_cst (utype);
    4867            0 :                             _r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4868            0 :                             _o1[0] = _r2;
    4869              :                           }
    4870            0 :                           _o1[1] =  build_int_cst (utype, 2);
    4871            0 :                           _r1 = fold_build2_loc (loc, LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4872            0 :                           res_op0 = _r1;
    4873              :                         }
    4874            0 :                         tree res_op1;
    4875            0 :                         res_op1 = captures[1];
    4876            0 :                         tree res_op2;
    4877            0 :                         res_op2 =  build_zero_cst (type);
    4878            0 :                         tree _r;
    4879            0 :                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4880            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4881            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4882            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
    4883              :                         return _r;
    4884              :                       }
    4885      2167550 : next_after_fail1657:;
    4886              :                   }
    4887              :                 }
    4888              :             }
    4889              :         }
    4890              :     }
    4891              :   }
    4892      2167550 :   switch (TREE_CODE (_p1))
    4893              :     {
    4894            0 :     case VEC_COND_EXPR:
    4895            0 :       {
    4896            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4897            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4898            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4899            0 :         {
    4900            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4901            0 :           if (VECTOR_TYPE_P (type)
    4902              :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4903              :  || types_match (type, TREE_TYPE (captures[3]))
    4904              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4905              :  || (optimize_vectors_before_lowering_p ()
    4906              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4907              : )
    4908              :             {
    4909            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1658;
    4910            0 :               {
    4911            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1658;
    4912            0 :                 tree res_op0;
    4913            0 :                 res_op0 = captures[2];
    4914            0 :                 tree res_op1;
    4915            0 :                 {
    4916            0 :                   tree _o1[2], _r1;
    4917            0 :                   _o1[0] = unshare_expr (captures[0]);
    4918            0 :                   _o1[1] = captures[3];
    4919            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4920            0 :                   if (EXPR_P (_r1))
    4921            0 :                     goto next_after_fail1658;
    4922            0 :                   res_op1 = _r1;
    4923              :                 }
    4924            0 :                 tree res_op2;
    4925            0 :                 {
    4926            0 :                   tree _o1[2], _r1;
    4927            0 :                   _o1[0] = captures[0];
    4928            0 :                   _o1[1] = captures[4];
    4929            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4930            0 :                   if (EXPR_P (_r1))
    4931            0 :                     goto next_after_fail1658;
    4932            0 :                   res_op2 = _r1;
    4933              :                 }
    4934            0 :                 tree _r;
    4935            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4936            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    4937              :                 return _r;
    4938              :               }
    4939      2200761 : next_after_fail1658:;
    4940              :             }
    4941              :         }
    4942              :         break;
    4943              :       }
    4944              :     default:;
    4945              :     }
    4946              :   return NULL_TREE;
    4947              : }
    4948              : 
    4949              : tree
    4950            0 : generic_simplify_ROUND_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4951              : {
    4952            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4953            0 :   if (integer_onep (_p1))
    4954              :     {
    4955            0 :       {
    4956            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4957            0 :         tree res = generic_simplify_196 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4958            0 :         if (res) return res;
    4959              :       }
    4960              :     }
    4961            0 :   if (integer_zerop (_p0))
    4962              :     {
    4963            0 :       {
    4964            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4965            0 :         tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4966            0 :         if (res) return res;
    4967              :       }
    4968              :     }
    4969            0 :   switch (TREE_CODE (_p1))
    4970              :     {
    4971            0 :     case SSA_NAME:
    4972            0 :       {
    4973            0 :         {
    4974            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4975            0 :           tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4976            0 :           if (res) return res;
    4977              :         }
    4978            0 :         break;
    4979              :       }
    4980            0 :     default:;
    4981              :     }
    4982            0 : if (integer_minus_onep (_p1))
    4983              :   {
    4984            0 :     {
    4985            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4986            0 :       tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4987            0 :       if (res) return res;
    4988              :     }
    4989              :   }
    4990            0 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4991              :     {
    4992            0 :       {
    4993            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4994            0 :         tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4995            0 :         if (res) return res;
    4996              :       }
    4997              :     }
    4998            0 :   switch (TREE_CODE (_p1))
    4999              :     {
    5000            0 :     case ABS_EXPR:
    5001            0 :       {
    5002            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5003            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5004              :           {
    5005            0 :             {
    5006            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5007            0 :               tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5008            0 :               if (res) return res;
    5009              :             }
    5010              :           }
    5011              :         break;
    5012              :       }
    5013            0 :     default:;
    5014              :     }
    5015            0 :   switch (TREE_CODE (_p0))
    5016              :     {
    5017            0 :     case ABS_EXPR:
    5018            0 :       {
    5019            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5020            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5021              :           {
    5022            0 :             {
    5023            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5024            0 :               tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5025            0 :               if (res) return res;
    5026              :             }
    5027              :           }
    5028              :         break;
    5029              :       }
    5030            0 :     default:;
    5031              :     }
    5032            0 :   switch (TREE_CODE (_p1))
    5033              :     {
    5034            0 :     case NEGATE_EXPR:
    5035            0 :       {
    5036            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5037            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5038              :           {
    5039            0 :             {
    5040            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5041            0 :               tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5042            0 :               if (res) return res;
    5043              :             }
    5044              :           }
    5045              :         break;
    5046              :       }
    5047            0 :     default:;
    5048              :     }
    5049            0 :   switch (TREE_CODE (_p0))
    5050              :     {
    5051            0 :     case NEGATE_EXPR:
    5052            0 :       {
    5053            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5054            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5055              :           {
    5056            0 :             {
    5057            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5058            0 :               tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5059            0 :               if (res) return res;
    5060              :             }
    5061              :           }
    5062              :         break;
    5063              :       }
    5064            0 :     CASE_CONVERT:
    5065            0 :       {
    5066            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5067            0 :         switch (TREE_CODE (_q20))
    5068              :           {
    5069            0 :           case BIT_AND_EXPR:
    5070            0 :             {
    5071            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5072            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5073            0 :               switch (TREE_CODE (_q31))
    5074              :                 {
    5075            0 :                 case INTEGER_CST:
    5076            0 :                   {
    5077            0 :                     switch (TREE_CODE (_p1))
    5078              :                       {
    5079            0 :                       case INTEGER_CST:
    5080            0 :                         {
    5081            0 :                           {
    5082            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5083            0 :                             tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5084            0 :                             if (res) return res;
    5085              :                           }
    5086            0 :                           break;
    5087              :                         }
    5088              :                       default:;
    5089              :                       }
    5090              :                     break;
    5091              :                   }
    5092              :                 default:;
    5093              :                 }
    5094              :               break;
    5095              :             }
    5096              :           default:;
    5097              :           }
    5098              :         break;
    5099              :       }
    5100            0 :     case BIT_AND_EXPR:
    5101            0 :       {
    5102            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5103            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5104            0 :         switch (TREE_CODE (_q21))
    5105              :           {
    5106            0 :           case INTEGER_CST:
    5107            0 :             {
    5108            0 :               switch (TREE_CODE (_p1))
    5109              :                 {
    5110            0 :                 case INTEGER_CST:
    5111            0 :                   {
    5112            0 :                     {
    5113            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5114            0 :                       tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5115            0 :                       if (res) return res;
    5116              :                     }
    5117            0 :                     break;
    5118              :                   }
    5119              :                 default:;
    5120              :                 }
    5121              :               break;
    5122              :             }
    5123              :           default:;
    5124              :           }
    5125              :         break;
    5126              :       }
    5127            0 :     case MULT_EXPR:
    5128            0 :       {
    5129            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5130            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5131            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5132              :           {
    5133            0 :             {
    5134            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5135            0 :               tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5136            0 :               if (res) return res;
    5137              :             }
    5138              :           }
    5139            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5140              :           {
    5141            0 :             {
    5142            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5143            0 :               tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5144            0 :               if (res) return res;
    5145              :             }
    5146              :           }
    5147            0 :         switch (TREE_CODE (_q21))
    5148              :           {
    5149            0 :           case INTEGER_CST:
    5150            0 :             {
    5151            0 :               switch (TREE_CODE (_p1))
    5152              :                 {
    5153            0 :                 case MULT_EXPR:
    5154            0 :                   {
    5155            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5156            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5157            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5158              :                       {
    5159            0 :                         switch (TREE_CODE (_q51))
    5160              :                           {
    5161            0 :                           case INTEGER_CST:
    5162            0 :                             {
    5163            0 :                               {
    5164            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5165            0 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5166            0 :                                 if (res) return res;
    5167              :                               }
    5168            0 :                               break;
    5169              :                             }
    5170              :                           default:;
    5171              :                           }
    5172              :                       }
    5173              :                     break;
    5174              :                   }
    5175              :                 default:;
    5176              :                 }
    5177              :               break;
    5178              :             }
    5179              :           default:;
    5180              :           }
    5181              :         break;
    5182              :       }
    5183            0 :     case VEC_COND_EXPR:
    5184            0 :       {
    5185            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5186            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5187            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5188            0 :         switch (TREE_CODE (_p1))
    5189              :           {
    5190            0 :           case VEC_COND_EXPR:
    5191            0 :             {
    5192            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5193            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5194            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5195            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5196              :                 {
    5197            0 :                   {
    5198            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5199            0 :                     if (VECTOR_TYPE_P (type)
    5200              :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5201              :  || types_match (type, TREE_TYPE (captures[2]))
    5202              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5203              :  || (optimize_vectors_before_lowering_p ()
    5204              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5205              : )
    5206              :                       {
    5207            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1665;
    5208            0 :                         {
    5209            0 :                           tree res_op0;
    5210            0 :                           res_op0 = captures[1];
    5211            0 :                           tree res_op1;
    5212            0 :                           {
    5213            0 :                             tree _o1[2], _r1;
    5214            0 :                             _o1[0] = captures[2];
    5215            0 :                             _o1[1] = captures[5];
    5216            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5217            0 :                             if (EXPR_P (_r1))
    5218            0 :                               goto next_after_fail1665;
    5219            0 :                             res_op1 = _r1;
    5220              :                           }
    5221            0 :                           tree res_op2;
    5222            0 :                           {
    5223            0 :                             tree _o1[2], _r1;
    5224            0 :                             _o1[0] = captures[3];
    5225            0 :                             _o1[1] = captures[6];
    5226            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5227            0 :                             if (EXPR_P (_r1))
    5228            0 :                               goto next_after_fail1665;
    5229            0 :                             res_op2 = _r1;
    5230              :                           }
    5231            0 :                           tree _r;
    5232            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5233            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    5234              :                           return _r;
    5235              :                         }
    5236            0 : next_after_fail1665:;
    5237              :                       }
    5238              :                   }
    5239              :                 }
    5240              :               break;
    5241              :             }
    5242            0 :           default:;
    5243              :           }
    5244            0 :         {
    5245            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5246            0 :           if (VECTOR_TYPE_P (type)
    5247              :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5248              :  || types_match (type, TREE_TYPE (captures[2]))
    5249              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5250              :  || (optimize_vectors_before_lowering_p ()
    5251              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5252              : )
    5253              :             {
    5254            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1666;
    5255            0 :               {
    5256            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1666;
    5257            0 :                 tree res_op0;
    5258            0 :                 res_op0 = captures[1];
    5259            0 :                 tree res_op1;
    5260            0 :                 {
    5261            0 :                   tree _o1[2], _r1;
    5262            0 :                   _o1[0] = captures[2];
    5263            0 :                   _o1[1] = unshare_expr (captures[4]);
    5264            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5265            0 :                   if (EXPR_P (_r1))
    5266            0 :                     goto next_after_fail1666;
    5267            0 :                   res_op1 = _r1;
    5268              :                 }
    5269            0 :                 tree res_op2;
    5270            0 :                 {
    5271            0 :                   tree _o1[2], _r1;
    5272            0 :                   _o1[0] = captures[3];
    5273            0 :                   _o1[1] = captures[4];
    5274            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5275            0 :                   if (EXPR_P (_r1))
    5276            0 :                     goto next_after_fail1666;
    5277            0 :                   res_op2 = _r1;
    5278              :                 }
    5279            0 :                 tree _r;
    5280            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5281            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    5282              :                 return _r;
    5283              :               }
    5284            0 : next_after_fail1666:;
    5285              :             }
    5286              :         }
    5287              :         break;
    5288              :       }
    5289            0 :     default:;
    5290              :     }
    5291            0 :   switch (TREE_CODE (_p1))
    5292              :     {
    5293            0 :     case VEC_COND_EXPR:
    5294            0 :       {
    5295            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5296            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5297            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5298            0 :         {
    5299            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5300            0 :           if (VECTOR_TYPE_P (type)
    5301              :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5302              :  || types_match (type, TREE_TYPE (captures[3]))
    5303              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5304              :  || (optimize_vectors_before_lowering_p ()
    5305              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5306              : )
    5307              :             {
    5308            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1667;
    5309            0 :               {
    5310            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1667;
    5311            0 :                 tree res_op0;
    5312            0 :                 res_op0 = captures[2];
    5313            0 :                 tree res_op1;
    5314            0 :                 {
    5315            0 :                   tree _o1[2], _r1;
    5316            0 :                   _o1[0] = unshare_expr (captures[0]);
    5317            0 :                   _o1[1] = captures[3];
    5318            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5319            0 :                   if (EXPR_P (_r1))
    5320            0 :                     goto next_after_fail1667;
    5321            0 :                   res_op1 = _r1;
    5322              :                 }
    5323            0 :                 tree res_op2;
    5324            0 :                 {
    5325            0 :                   tree _o1[2], _r1;
    5326            0 :                   _o1[0] = captures[0];
    5327            0 :                   _o1[1] = captures[4];
    5328            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5329            0 :                   if (EXPR_P (_r1))
    5330            0 :                     goto next_after_fail1667;
    5331            0 :                   res_op2 = _r1;
    5332              :                 }
    5333            0 :                 tree _r;
    5334            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5335            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    5336              :                 return _r;
    5337              :               }
    5338            0 : next_after_fail1667:;
    5339              :             }
    5340              :         }
    5341              :         break;
    5342              :       }
    5343              :     default:;
    5344              :     }
    5345              :   return NULL_TREE;
    5346              : }
    5347              : 
    5348              : tree
    5349      6463967 : generic_simplify_RDIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5350              : {
    5351      6463967 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5352      6463967 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5353              :     {
    5354          849 :       {
    5355          849 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5356            9 :         if (FLOAT_TYPE_P (type)
    5357          849 :  && ! HONOR_NANS (type)
    5358          851 :  && ! HONOR_INFINITIES (type)
    5359              : )
    5360              :           {
    5361            2 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1674;
    5362            2 :             {
    5363            2 :               tree _r;
    5364            2 :               _r =  build_one_cst (type);
    5365            2 :               if (TREE_SIDE_EFFECTS (captures[0]))
    5366            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5367            2 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
    5368      6463967 :               return _r;
    5369              :             }
    5370            0 : next_after_fail1674:;
    5371              :           }
    5372              :       }
    5373              :     }
    5374      6463965 :   switch (TREE_CODE (_p1))
    5375              :     {
    5376        19524 :     case NEGATE_EXPR:
    5377        19524 :       {
    5378        19524 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5379        19524 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5380              :           {
    5381            0 :             {
    5382            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5383            0 :               tree res = generic_simplify_351 (loc, type, _p0, _p1, captures);
    5384            0 :               if (res) return res;
    5385              :             }
    5386              :           }
    5387              :         break;
    5388              :       }
    5389      6463965 :     default:;
    5390              :     }
    5391      6463965 :   switch (TREE_CODE (_p0))
    5392              :     {
    5393        97711 :     case NEGATE_EXPR:
    5394        97711 :       {
    5395        97711 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5396        97711 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5397              :           {
    5398            2 :             {
    5399            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5400            2 :               tree res = generic_simplify_351 (loc, type, _p0, _p1, captures);
    5401            2 :               if (res) return res;
    5402              :             }
    5403              :           }
    5404              :         break;
    5405              :       }
    5406       568444 :     CASE_CONVERT:
    5407       568444 :       {
    5408       568444 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5409       568444 :         switch (TREE_CODE (_p1))
    5410              :           {
    5411        34044 :           CASE_CONVERT:
    5412        34044 :             {
    5413        34044 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5414        34044 :               switch (TREE_CODE (_q40))
    5415              :                 {
    5416            0 :                 case ABS_EXPR:
    5417            0 :                   {
    5418            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5419            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5420              :                       {
    5421            0 :                         {
    5422            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5423            0 :                           tree res = generic_simplify_352 (loc, type, _p0, _p1, captures);
    5424            0 :                           if (res) return res;
    5425              :                         }
    5426              :                       }
    5427              :                     break;
    5428              :                   }
    5429              :                 default:;
    5430              :                 }
    5431              :               break;
    5432              :             }
    5433       568444 :           default:;
    5434              :           }
    5435       568444 :         switch (TREE_CODE (_q20))
    5436              :           {
    5437            0 :           case ABS_EXPR:
    5438            0 :             {
    5439            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5440            0 :               switch (TREE_CODE (_p1))
    5441              :                 {
    5442            0 :                 CASE_CONVERT:
    5443            0 :                   {
    5444            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5445            0 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    5446              :                       {
    5447            0 :                         {
    5448            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    5449            0 :                           tree res = generic_simplify_352 (loc, type, _p0, _p1, captures);
    5450            0 :                           if (res) return res;
    5451              :                         }
    5452              :                       }
    5453              :                     break;
    5454              :                   }
    5455              :                 default:;
    5456              :                 }
    5457              :               break;
    5458              :             }
    5459              :           default:;
    5460              :           }
    5461              :         break;
    5462              :       }
    5463      6463965 :     default:;
    5464              :     }
    5465      6463965 :   switch (TREE_CODE (_p1))
    5466              :     {
    5467           48 :     case ABS_EXPR:
    5468           48 :       {
    5469           48 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5470           48 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5471              :           {
    5472            0 :             {
    5473            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5474            0 :               tree res = generic_simplify_352 (loc, type, _p0, _p1, captures);
    5475            0 :               if (res) return res;
    5476              :             }
    5477              :           }
    5478              :         break;
    5479              :       }
    5480      6463965 :     default:;
    5481              :     }
    5482      6463965 :   switch (TREE_CODE (_p0))
    5483              :     {
    5484          146 :     case ABS_EXPR:
    5485          146 :       {
    5486          146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5487          146 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5488              :           {
    5489            0 :             {
    5490            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5491            0 :               tree res = generic_simplify_352 (loc, type, _p0, _p1, captures);
    5492            0 :               if (res) return res;
    5493              :             }
    5494              :           }
    5495              :         break;
    5496              :       }
    5497      6463965 :     default:;
    5498              :     }
    5499      6463965 :   if (real_onep (_p1))
    5500              :     {
    5501          145 :       {
    5502          145 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5503          145 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5504              : )
    5505              :           {
    5506          145 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1675;
    5507          145 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1675;
    5508          145 :             {
    5509          145 :               tree res_op0;
    5510          145 :               res_op0 = captures[0];
    5511          145 :               tree _r;
    5512          145 :               _r = non_lvalue_loc (loc, res_op0);
    5513          145 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1035, __FILE__, __LINE__, true);
    5514      6463967 :               return _r;
    5515              :             }
    5516      6463820 : next_after_fail1675:;
    5517              :           }
    5518              :       }
    5519              :     }
    5520      6463820 :   if (real_minus_onep (_p1))
    5521              :     {
    5522           36 :       {
    5523           36 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5524           36 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5525              : )
    5526              :           {
    5527           36 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1676;
    5528           36 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1676;
    5529           36 :             {
    5530           36 :               tree res_op0;
    5531           36 :               res_op0 = captures[0];
    5532           36 :               tree _r;
    5533           36 :               _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    5534           36 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
    5535      6463967 :               return _r;
    5536              :             }
    5537      6463784 : next_after_fail1676:;
    5538              :           }
    5539              :       }
    5540              :     }
    5541      6463784 :   switch (TREE_CODE (_p0))
    5542              :     {
    5543        38618 :     case RDIV_EXPR:
    5544        38618 :       {
    5545        38618 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5546        38618 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5547        38618 :         {
    5548        38618 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5549        38618 :           if (flag_reciprocal_math
    5550              : )
    5551              :             {
    5552           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1677;
    5553           12 :               {
    5554           12 :                 tree res_op0;
    5555           12 :                 res_op0 = captures[1];
    5556           12 :                 tree res_op1;
    5557           12 :                 {
    5558           12 :                   tree _o1[2], _r1;
    5559           12 :                   _o1[0] = captures[2];
    5560           12 :                   _o1[1] = captures[3];
    5561           12 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5562           12 :                   res_op1 = _r1;
    5563              :                 }
    5564           12 :                 tree _r;
    5565           12 :                 _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5566           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
    5567              :                 return _r;
    5568              :               }
    5569            0 : next_after_fail1677:;
    5570              :             }
    5571              :         }
    5572              :         break;
    5573              :       }
    5574      6463772 :     default:;
    5575              :     }
    5576      6463772 :   switch (TREE_CODE (_p1))
    5577              :     {
    5578       989663 :     case MULT_EXPR:
    5579       989663 :       {
    5580       989663 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5581       989663 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5582       989663 :         switch (TREE_CODE (_q31))
    5583              :           {
    5584       388283 :           case REAL_CST:
    5585       388283 :             {
    5586       388283 :               {
    5587       388283 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5588       388283 :                 if (flag_reciprocal_math
    5589              : )
    5590              :                   {
    5591          224 :                     {
    5592          224 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
    5593          224 :                         if (tem
    5594              : )
    5595              :                           {
    5596          224 :                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1678;
    5597          224 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1678;
    5598          224 :                             {
    5599          224 :                               tree res_op0;
    5600          224 :                               {
    5601          224 :                                 tree _o1[2], _r1;
    5602          224 :                                 _o1[0] = captures[0];
    5603          224 :                                 _o1[1] =  tem;
    5604          224 :                                 _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5605          224 :                                 res_op0 = _r1;
    5606              :                               }
    5607          224 :                               tree res_op1;
    5608          224 :                               res_op1 = captures[2];
    5609          224 :                               tree _r;
    5610          224 :                               _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5611          224 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
    5612              :                               return _r;
    5613              :                             }
    5614      6113314 : next_after_fail1678:;
    5615              :                           }
    5616              :                     }
    5617              :                   }
    5618              :               }
    5619              :               break;
    5620              :             }
    5621              :           default:;
    5622              :           }
    5623              :         break;
    5624              :       }
    5625            1 :     case RDIV_EXPR:
    5626            1 :       {
    5627            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5628            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5629            1 :         {
    5630            1 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5631            1 :           if (flag_reciprocal_math
    5632              : )
    5633              :             {
    5634            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1679;
    5635            1 :               {
    5636            1 :                 tree res_op0;
    5637            1 :                 {
    5638            1 :                   tree _o1[2], _r1;
    5639            1 :                   _o1[0] = captures[0];
    5640            1 :                   _o1[1] = captures[2];
    5641            1 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5642            1 :                   res_op0 = _r1;
    5643              :                 }
    5644            1 :                 tree res_op1;
    5645            1 :                 res_op1 = captures[3];
    5646            1 :                 tree _r;
    5647            1 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5648            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
    5649              :                 return _r;
    5650              :               }
    5651            0 : next_after_fail1679:;
    5652              :             }
    5653              :         }
    5654              :         break;
    5655              :       }
    5656        19524 :     case NEGATE_EXPR:
    5657        19524 :       {
    5658        19524 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5659        19524 :         {
    5660        19524 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5661        19524 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1680;
    5662        19524 :           {
    5663        19524 :             tree res_op0;
    5664        19524 :             {
    5665        19524 :               tree _o1[1], _r1;
    5666        19524 :               _o1[0] = captures[0];
    5667        19524 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5668        19524 :               res_op0 = _r1;
    5669              :             }
    5670        19524 :             tree res_op1;
    5671        19524 :             res_op1 = captures[1];
    5672        19524 :             tree _r;
    5673        19524 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5674        19524 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
    5675              :             return _r;
    5676              :           }
    5677            0 : next_after_fail1680:;
    5678              :         }
    5679            0 :         break;
    5680              :       }
    5681      1096758 :     case REAL_CST:
    5682      1096758 :       {
    5683      1096758 :         {
    5684      1096758 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5685      1096758 :           if (optimize
    5686              : )
    5687              :             {
    5688      1089824 :               if (flag_reciprocal_math
    5689      1089824 :  && !real_zerop (captures[1])
    5690              : )
    5691              :                 {
    5692          571 :                   {
    5693          571 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5694          571 :                       if (tem
    5695              : )
    5696              :                         {
    5697          570 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1681;
    5698          570 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1681;
    5699          570 :                           {
    5700          570 :                             tree res_op0;
    5701          570 :                             res_op0 = captures[0];
    5702          570 :                             tree res_op1;
    5703          570 :                             res_op1 =  tem;
    5704          570 :                             tree _r;
    5705          570 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5706          570 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
    5707              :                             return _r;
    5708              :                           }
    5709      6113314 : next_after_fail1681:;
    5710              :                         }
    5711              :                   }
    5712              :                 }
    5713              :               else
    5714              :                 {
    5715      1089253 :                   if (REAL_CST != COMPLEX_CST
    5716              : )
    5717              :                     {
    5718      1089253 :                       {
    5719      1089253 :  tree inverse = exact_inverse (type, captures[1]);
    5720      1089253 :                           if (inverse
    5721              : )
    5722              :                             {
    5723       330102 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1682;
    5724       330102 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1682;
    5725       330102 :                               {
    5726       330102 :                                 tree res_op0;
    5727       330102 :                                 res_op0 = captures[0];
    5728       330102 :                                 tree res_op1;
    5729       330102 :                                 res_op1 =  inverse;
    5730       330102 :                                 tree _r;
    5731       330102 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5732       330102 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
    5733              :                                 return _r;
    5734              :                               }
    5735      6113314 : next_after_fail1682:;
    5736              :                             }
    5737              :                       }
    5738              :                     }
    5739              :                 }
    5740              :             }
    5741              :         }
    5742              :         break;
    5743              :       }
    5744          114 :     case COMPLEX_CST:
    5745          114 :       {
    5746          114 :         {
    5747          114 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5748          114 :           if (optimize
    5749              : )
    5750              :             {
    5751          106 :               if (flag_reciprocal_math
    5752          106 :  && !real_zerop (captures[1])
    5753              : )
    5754              :                 {
    5755            7 :                   {
    5756            7 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5757            7 :                       if (tem
    5758              : )
    5759              :                         {
    5760            7 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1683;
    5761            7 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1683;
    5762            7 :                           {
    5763            7 :                             tree res_op0;
    5764            7 :                             res_op0 = captures[0];
    5765            7 :                             tree res_op1;
    5766            7 :                             res_op1 =  tem;
    5767            7 :                             tree _r;
    5768            7 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5769            7 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
    5770              :                             return _r;
    5771              :                           }
    5772      6113314 : next_after_fail1683:;
    5773              :                         }
    5774              :                   }
    5775              :                 }
    5776              :               else
    5777              :                 {
    5778              :                   if (COMPLEX_CST != COMPLEX_CST
    5779              : )
    5780              :                     {
    5781              :                       {
    5782              :  tree inverse = exact_inverse (type, captures[1]);
    5783              :                           if (inverse
    5784              : )
    5785              :                             {
    5786              :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1684;
    5787              :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1684;
    5788              :                               {
    5789              :                                 tree res_op0;
    5790              :                                 res_op0 = captures[0];
    5791              :                                 tree res_op1;
    5792              :                                 res_op1 =  inverse;
    5793              :                                 tree _r;
    5794              :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5795              :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
    5796              :                                 return _r;
    5797              :                               }
    5798              : next_after_fail1684:;
    5799              :                             }
    5800              :                       }
    5801              :                     }
    5802              :                 }
    5803              :             }
    5804              :         }
    5805              :         break;
    5806              :       }
    5807           49 :     case VECTOR_CST:
    5808           49 :       {
    5809           49 :         {
    5810           49 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5811           49 :           if (optimize
    5812              : )
    5813              :             {
    5814           45 :               if (flag_reciprocal_math
    5815           45 :  && !real_zerop (captures[1])
    5816              : )
    5817              :                 {
    5818            4 :                   {
    5819            4 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5820            4 :                       if (tem
    5821              : )
    5822              :                         {
    5823            0 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1685;
    5824            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1685;
    5825            0 :                           {
    5826            0 :                             tree res_op0;
    5827            0 :                             res_op0 = captures[0];
    5828            0 :                             tree res_op1;
    5829            0 :                             res_op1 =  tem;
    5830            0 :                             tree _r;
    5831            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5832            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
    5833              :                             return _r;
    5834              :                           }
    5835      6113314 : next_after_fail1685:;
    5836              :                         }
    5837              :                   }
    5838              :                 }
    5839              :               else
    5840              :                 {
    5841           41 :                   if (VECTOR_CST != COMPLEX_CST
    5842              : )
    5843              :                     {
    5844           41 :                       {
    5845           41 :  tree inverse = exact_inverse (type, captures[1]);
    5846           41 :                           if (inverse
    5847              : )
    5848              :                             {
    5849           30 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1686;
    5850           30 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1686;
    5851           30 :                               {
    5852           30 :                                 tree res_op0;
    5853           30 :                                 res_op0 = captures[0];
    5854           30 :                                 tree res_op1;
    5855           30 :                                 res_op1 =  inverse;
    5856           30 :                                 tree _r;
    5857           30 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5858           30 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
    5859              :                                 return _r;
    5860              :                               }
    5861      6113314 : next_after_fail1686:;
    5862              :                             }
    5863              :                       }
    5864              :                     }
    5865              :                 }
    5866              :             }
    5867              :         }
    5868              :         break;
    5869              :       }
    5870      6113314 :     default:;
    5871              :     }
    5872      6113314 :   switch (TREE_CODE (_p0))
    5873              :     {
    5874            0 :     case VEC_COND_EXPR:
    5875            0 :       {
    5876            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5877            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5878            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5879            0 :         switch (TREE_CODE (_p1))
    5880              :           {
    5881            0 :           case VEC_COND_EXPR:
    5882            0 :             {
    5883            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5884            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5885            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5886            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5887              :                 {
    5888            0 :                   {
    5889            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5890            0 :                     if (VECTOR_TYPE_P (type)
    5891              :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5892              :  || types_match (type, TREE_TYPE (captures[2]))
    5893              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5894              :  || (optimize_vectors_before_lowering_p ()
    5895              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5896              : )
    5897              :                       {
    5898            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1687;
    5899            0 :                         {
    5900            0 :                           tree res_op0;
    5901            0 :                           res_op0 = captures[1];
    5902            0 :                           tree res_op1;
    5903            0 :                           {
    5904            0 :                             tree _o1[2], _r1;
    5905            0 :                             _o1[0] = captures[2];
    5906            0 :                             _o1[1] = captures[5];
    5907            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5908            0 :                             if (EXPR_P (_r1))
    5909            0 :                               goto next_after_fail1687;
    5910            0 :                             res_op1 = _r1;
    5911              :                           }
    5912            0 :                           tree res_op2;
    5913            0 :                           {
    5914            0 :                             tree _o1[2], _r1;
    5915            0 :                             _o1[0] = captures[3];
    5916            0 :                             _o1[1] = captures[6];
    5917            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5918            0 :                             if (EXPR_P (_r1))
    5919            0 :                               goto next_after_fail1687;
    5920            0 :                             res_op2 = _r1;
    5921              :                           }
    5922            0 :                           tree _r;
    5923            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5924            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    5925              :                           return _r;
    5926              :                         }
    5927            0 : next_after_fail1687:;
    5928              :                       }
    5929              :                   }
    5930              :                 }
    5931              :               break;
    5932              :             }
    5933            0 :           default:;
    5934              :           }
    5935            0 :         {
    5936            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5937            0 :           if (VECTOR_TYPE_P (type)
    5938              :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5939              :  || types_match (type, TREE_TYPE (captures[2]))
    5940              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5941              :  || (optimize_vectors_before_lowering_p ()
    5942              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5943              : )
    5944              :             {
    5945            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1688;
    5946            0 :               {
    5947            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1688;
    5948            0 :                 tree res_op0;
    5949            0 :                 res_op0 = captures[1];
    5950            0 :                 tree res_op1;
    5951            0 :                 {
    5952            0 :                   tree _o1[2], _r1;
    5953            0 :                   _o1[0] = captures[2];
    5954            0 :                   _o1[1] = unshare_expr (captures[4]);
    5955            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5956            0 :                   if (EXPR_P (_r1))
    5957            0 :                     goto next_after_fail1688;
    5958            0 :                   res_op1 = _r1;
    5959              :                 }
    5960            0 :                 tree res_op2;
    5961            0 :                 {
    5962            0 :                   tree _o1[2], _r1;
    5963            0 :                   _o1[0] = captures[3];
    5964            0 :                   _o1[1] = captures[4];
    5965            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5966            0 :                   if (EXPR_P (_r1))
    5967            0 :                     goto next_after_fail1688;
    5968            0 :                   res_op2 = _r1;
    5969              :                 }
    5970            0 :                 tree _r;
    5971            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5972            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    5973              :                 return _r;
    5974              :               }
    5975      6113314 : next_after_fail1688:;
    5976              :             }
    5977              :         }
    5978              :         break;
    5979              :       }
    5980      6113314 :     default:;
    5981              :     }
    5982      6113314 :   switch (TREE_CODE (_p1))
    5983              :     {
    5984            0 :     case VEC_COND_EXPR:
    5985            0 :       {
    5986            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5987            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5988            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5989            0 :         {
    5990            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5991            0 :           if (VECTOR_TYPE_P (type)
    5992              :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5993              :  || types_match (type, TREE_TYPE (captures[3]))
    5994              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5995              :  || (optimize_vectors_before_lowering_p ()
    5996              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5997              : )
    5998              :             {
    5999            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1689;
    6000            0 :               {
    6001            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1689;
    6002            0 :                 tree res_op0;
    6003            0 :                 res_op0 = captures[2];
    6004            0 :                 tree res_op1;
    6005            0 :                 {
    6006            0 :                   tree _o1[2], _r1;
    6007            0 :                   _o1[0] = unshare_expr (captures[0]);
    6008            0 :                   _o1[1] = captures[3];
    6009            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    6010            0 :                   if (EXPR_P (_r1))
    6011            0 :                     goto next_after_fail1689;
    6012            0 :                   res_op1 = _r1;
    6013              :                 }
    6014            0 :                 tree res_op2;
    6015            0 :                 {
    6016            0 :                   tree _o1[2], _r1;
    6017            0 :                   _o1[0] = captures[0];
    6018            0 :                   _o1[1] = captures[4];
    6019            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    6020            0 :                   if (EXPR_P (_r1))
    6021            0 :                     goto next_after_fail1689;
    6022            0 :                   res_op2 = _r1;
    6023              :                 }
    6024            0 :                 tree _r;
    6025            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    6026            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    6027              :                 return _r;
    6028              :               }
    6029      6113089 : next_after_fail1689:;
    6030              :             }
    6031              :         }
    6032              :         break;
    6033              :       }
    6034       817262 :     case CALL_EXPR:
    6035       817262 :       switch (get_call_combined_fn (_p1))
    6036              :         {
    6037           20 :         case CFN_BUILT_IN_SQRTF:
    6038           20 :           if (call_expr_nargs (_p1) == 1)
    6039              :     {
    6040           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6041           20 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6042              :                 {
    6043            0 :                   {
    6044            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6045            0 :                     tree res = generic_simplify_353 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    6046            0 :                     if (res) return res;
    6047              :                   }
    6048              :                 }
    6049           20 :               switch (TREE_CODE (_q30))
    6050              :                 {
    6051            0 :                 case RDIV_EXPR:
    6052            0 :                   {
    6053            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6054            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6055            0 :                     {
    6056            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6057            0 :                       if (flag_unsafe_math_optimizations
    6058              : )
    6059              :                         {
    6060            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1690;
    6061            0 :                           {
    6062            0 :                             tree res_op0;
    6063            0 :                             res_op0 = captures[0];
    6064            0 :                             tree res_op1;
    6065            0 :                             {
    6066            0 :                               tree _o1[1], _r1;
    6067            0 :                               {
    6068            0 :                                 tree _o2[2], _r2;
    6069            0 :                                 _o2[0] = captures[4];
    6070            0 :                                 _o2[1] = captures[3];
    6071            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6072            0 :                                 _o1[0] = _r2;
    6073              :                               }
    6074            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6075            0 :                               if (!_r1)
    6076            0 :                                 goto next_after_fail1690;
    6077            0 :                               res_op1 = _r1;
    6078              :                             }
    6079            0 :                             tree _r;
    6080            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6081            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
    6082              :                             return _r;
    6083              :                           }
    6084      6113089 : next_after_fail1690:;
    6085              :                         }
    6086              :                     }
    6087              :                     break;
    6088              :                   }
    6089              :                 default:;
    6090              :                 }
    6091              :             }
    6092              :           break;
    6093            0 :         case CFN_BUILT_IN_SQRTL:
    6094            0 :           if (call_expr_nargs (_p1) == 1)
    6095              :     {
    6096            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6097            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6098              :                 {
    6099            0 :                   {
    6100            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6101            0 :                     tree res = generic_simplify_353 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    6102            0 :                     if (res) return res;
    6103              :                   }
    6104              :                 }
    6105            0 :               switch (TREE_CODE (_q30))
    6106              :                 {
    6107            0 :                 case RDIV_EXPR:
    6108            0 :                   {
    6109            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6110            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6111            0 :                     {
    6112            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6113            0 :                       if (flag_unsafe_math_optimizations
    6114              : )
    6115              :                         {
    6116            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1691;
    6117            0 :                           {
    6118            0 :                             tree res_op0;
    6119            0 :                             res_op0 = captures[0];
    6120            0 :                             tree res_op1;
    6121            0 :                             {
    6122            0 :                               tree _o1[1], _r1;
    6123            0 :                               {
    6124            0 :                                 tree _o2[2], _r2;
    6125            0 :                                 _o2[0] = captures[4];
    6126            0 :                                 _o2[1] = captures[3];
    6127            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6128            0 :                                 _o1[0] = _r2;
    6129              :                               }
    6130            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6131            0 :                               if (!_r1)
    6132            0 :                                 goto next_after_fail1691;
    6133            0 :                               res_op1 = _r1;
    6134              :                             }
    6135            0 :                             tree _r;
    6136            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6137            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
    6138              :                             return _r;
    6139              :                           }
    6140      6113089 : next_after_fail1691:;
    6141              :                         }
    6142              :                     }
    6143              :                     break;
    6144              :                   }
    6145              :                 default:;
    6146              :                 }
    6147              :             }
    6148              :           break;
    6149           27 :         case CFN_BUILT_IN_EXP:
    6150           27 :           if (call_expr_nargs (_p1) == 1)
    6151              :     {
    6152           27 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6153           27 :               {
    6154           27 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6155           27 :                 if (flag_unsafe_math_optimizations
    6156              : )
    6157              :                   {
    6158           27 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1692;
    6159           27 :                     {
    6160           27 :                       tree res_op0;
    6161           27 :                       res_op0 = captures[0];
    6162           27 :                       tree res_op1;
    6163           27 :                       {
    6164           27 :                         tree _o1[1], _r1;
    6165           27 :                         {
    6166           27 :                           tree _o2[1], _r2;
    6167           27 :                           _o2[0] = captures[2];
    6168           27 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6169           27 :                           _o1[0] = _r2;
    6170              :                         }
    6171           27 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6172           27 :                         if (!_r1)
    6173            0 :                           goto next_after_fail1692;
    6174           27 :                         res_op1 = _r1;
    6175              :                       }
    6176           27 :                       tree _r;
    6177           27 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6178           27 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6179              :                       return _r;
    6180              :                     }
    6181      6113089 : next_after_fail1692:;
    6182              :                   }
    6183              :               }
    6184              :             }
    6185              :           break;
    6186           24 :         case CFN_BUILT_IN_EXP10F:
    6187           24 :           if (call_expr_nargs (_p1) == 1)
    6188              :     {
    6189           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6190           24 :               {
    6191           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6192           24 :                 if (flag_unsafe_math_optimizations
    6193              : )
    6194              :                   {
    6195           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1693;
    6196           24 :                     {
    6197           24 :                       tree res_op0;
    6198           24 :                       res_op0 = captures[0];
    6199           24 :                       tree res_op1;
    6200           24 :                       {
    6201           24 :                         tree _o1[1], _r1;
    6202           24 :                         {
    6203           24 :                           tree _o2[1], _r2;
    6204           24 :                           _o2[0] = captures[2];
    6205           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6206           24 :                           _o1[0] = _r2;
    6207              :                         }
    6208           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6209           24 :                         if (!_r1)
    6210            0 :                           goto next_after_fail1693;
    6211           24 :                         res_op1 = _r1;
    6212              :                       }
    6213           24 :                       tree _r;
    6214           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6215           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6216              :                       return _r;
    6217              :                     }
    6218      6113089 : next_after_fail1693:;
    6219              :                   }
    6220              :               }
    6221              :             }
    6222              :           break;
    6223           24 :         case CFN_BUILT_IN_EXP10L:
    6224           24 :           if (call_expr_nargs (_p1) == 1)
    6225              :     {
    6226           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6227           24 :               {
    6228           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6229           24 :                 if (flag_unsafe_math_optimizations
    6230              : )
    6231              :                   {
    6232           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1694;
    6233           24 :                     {
    6234           24 :                       tree res_op0;
    6235           24 :                       res_op0 = captures[0];
    6236           24 :                       tree res_op1;
    6237           24 :                       {
    6238           24 :                         tree _o1[1], _r1;
    6239           24 :                         {
    6240           24 :                           tree _o2[1], _r2;
    6241           24 :                           _o2[0] = captures[2];
    6242           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6243           24 :                           _o1[0] = _r2;
    6244              :                         }
    6245           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6246           24 :                         if (!_r1)
    6247            0 :                           goto next_after_fail1694;
    6248           24 :                         res_op1 = _r1;
    6249              :                       }
    6250           24 :                       tree _r;
    6251           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6252           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6253              :                       return _r;
    6254              :                     }
    6255      6113089 : next_after_fail1694:;
    6256              :                   }
    6257              :               }
    6258              :             }
    6259              :           break;
    6260            3 :         case CFN_BUILT_IN_CBRT:
    6261            3 :           if (call_expr_nargs (_p1) == 1)
    6262              :     {
    6263            3 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6264            3 :               switch (TREE_CODE (_q30))
    6265              :                 {
    6266            2 :                 case RDIV_EXPR:
    6267            2 :                   {
    6268            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6269            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6270            2 :                     {
    6271            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6272            2 :                       if (flag_unsafe_math_optimizations
    6273              : )
    6274              :                         {
    6275            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1695;
    6276            2 :                           {
    6277            2 :                             tree res_op0;
    6278            2 :                             res_op0 = captures[0];
    6279            2 :                             tree res_op1;
    6280            2 :                             {
    6281            2 :                               tree _o1[1], _r1;
    6282            2 :                               {
    6283            2 :                                 tree _o2[2], _r2;
    6284            2 :                                 _o2[0] = captures[4];
    6285            2 :                                 _o2[1] = captures[3];
    6286            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6287            2 :                                 _o1[0] = _r2;
    6288              :                               }
    6289            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6290            2 :                               if (!_r1)
    6291            0 :                                 goto next_after_fail1695;
    6292            2 :                               res_op1 = _r1;
    6293              :                             }
    6294            2 :                             tree _r;
    6295            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6296            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
    6297              :                             return _r;
    6298              :                           }
    6299      6113089 : next_after_fail1695:;
    6300              :                         }
    6301              :                     }
    6302              :                     break;
    6303              :                   }
    6304              :                 default:;
    6305              :                 }
    6306              :             }
    6307              :           break;
    6308           24 :         case CFN_BUILT_IN_EXP2:
    6309           24 :           if (call_expr_nargs (_p1) == 1)
    6310              :     {
    6311           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6312           24 :               {
    6313           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6314           24 :                 if (flag_unsafe_math_optimizations
    6315              : )
    6316              :                   {
    6317           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1696;
    6318           24 :                     {
    6319           24 :                       tree res_op0;
    6320           24 :                       res_op0 = captures[0];
    6321           24 :                       tree res_op1;
    6322           24 :                       {
    6323           24 :                         tree _o1[1], _r1;
    6324           24 :                         {
    6325           24 :                           tree _o2[1], _r2;
    6326           24 :                           _o2[0] = captures[2];
    6327           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6328           24 :                           _o1[0] = _r2;
    6329              :                         }
    6330           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6331           24 :                         if (!_r1)
    6332            0 :                           goto next_after_fail1696;
    6333           24 :                         res_op1 = _r1;
    6334              :                       }
    6335           24 :                       tree _r;
    6336           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6337           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6338              :                       return _r;
    6339              :                     }
    6340      6113089 : next_after_fail1696:;
    6341              :                   }
    6342              :               }
    6343              :             }
    6344              :           break;
    6345           25 :         case CFN_BUILT_IN_EXPF:
    6346           25 :           if (call_expr_nargs (_p1) == 1)
    6347              :     {
    6348           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6349           25 :               {
    6350           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6351           25 :                 if (flag_unsafe_math_optimizations
    6352              : )
    6353              :                   {
    6354           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1697;
    6355           25 :                     {
    6356           25 :                       tree res_op0;
    6357           25 :                       res_op0 = captures[0];
    6358           25 :                       tree res_op1;
    6359           25 :                       {
    6360           25 :                         tree _o1[1], _r1;
    6361           25 :                         {
    6362           25 :                           tree _o2[1], _r2;
    6363           25 :                           _o2[0] = captures[2];
    6364           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6365           25 :                           _o1[0] = _r2;
    6366              :                         }
    6367           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6368           25 :                         if (!_r1)
    6369            0 :                           goto next_after_fail1697;
    6370           25 :                         res_op1 = _r1;
    6371              :                       }
    6372           25 :                       tree _r;
    6373           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6374           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6375              :                       return _r;
    6376              :                     }
    6377      6113089 : next_after_fail1697:;
    6378              :                   }
    6379              :               }
    6380              :             }
    6381              :           break;
    6382           25 :         case CFN_BUILT_IN_EXPL:
    6383           25 :           if (call_expr_nargs (_p1) == 1)
    6384              :     {
    6385           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6386           25 :               {
    6387           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6388           25 :                 if (flag_unsafe_math_optimizations
    6389              : )
    6390              :                   {
    6391           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1698;
    6392           25 :                     {
    6393           25 :                       tree res_op0;
    6394           25 :                       res_op0 = captures[0];
    6395           25 :                       tree res_op1;
    6396           25 :                       {
    6397           25 :                         tree _o1[1], _r1;
    6398           25 :                         {
    6399           25 :                           tree _o2[1], _r2;
    6400           25 :                           _o2[0] = captures[2];
    6401           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6402           25 :                           _o1[0] = _r2;
    6403              :                         }
    6404           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6405           25 :                         if (!_r1)
    6406            0 :                           goto next_after_fail1698;
    6407           25 :                         res_op1 = _r1;
    6408              :                       }
    6409           25 :                       tree _r;
    6410           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6411           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6412              :                       return _r;
    6413              :                     }
    6414      6113089 : next_after_fail1698:;
    6415              :                   }
    6416              :               }
    6417              :             }
    6418              :           break;
    6419          306 :         case CFN_BUILT_IN_SQRT:
    6420          306 :           if (call_expr_nargs (_p1) == 1)
    6421              :     {
    6422          306 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6423          306 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6424              :                 {
    6425            0 :                   {
    6426            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6427            0 :                     tree res = generic_simplify_353 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
    6428            0 :                     if (res) return res;
    6429              :                   }
    6430              :                 }
    6431          306 :               switch (TREE_CODE (_q30))
    6432              :                 {
    6433            2 :                 case RDIV_EXPR:
    6434            2 :                   {
    6435            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6436            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6437            2 :                     {
    6438            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6439            2 :                       if (flag_unsafe_math_optimizations
    6440              : )
    6441              :                         {
    6442            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1699;
    6443            2 :                           {
    6444            2 :                             tree res_op0;
    6445            2 :                             res_op0 = captures[0];
    6446            2 :                             tree res_op1;
    6447            2 :                             {
    6448            2 :                               tree _o1[1], _r1;
    6449            2 :                               {
    6450            2 :                                 tree _o2[2], _r2;
    6451            2 :                                 _o2[0] = captures[4];
    6452            2 :                                 _o2[1] = captures[3];
    6453            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6454            2 :                                 _o1[0] = _r2;
    6455              :                               }
    6456            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6457            2 :                               if (!_r1)
    6458            0 :                                 goto next_after_fail1699;
    6459            2 :                               res_op1 = _r1;
    6460              :                             }
    6461            2 :                             tree _r;
    6462            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6463            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
    6464              :                             return _r;
    6465              :                           }
    6466      6113089 : next_after_fail1699:;
    6467              :                         }
    6468              :                     }
    6469              :                     break;
    6470              :                   }
    6471              :                 default:;
    6472              :                 }
    6473              :             }
    6474              :           break;
    6475            0 :         case CFN_EXP:
    6476            0 :           if (call_expr_nargs (_p1) == 1)
    6477              :     {
    6478            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6479            0 :               {
    6480            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6481            0 :                 if (flag_unsafe_math_optimizations
    6482              : )
    6483              :                   {
    6484            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1700;
    6485            0 :                     {
    6486            0 :                       tree res_op0;
    6487            0 :                       res_op0 = captures[0];
    6488            0 :                       tree res_op1;
    6489            0 :                       {
    6490            0 :                         tree _o1[1], _r1;
    6491            0 :                         {
    6492            0 :                           tree _o2[1], _r2;
    6493            0 :                           _o2[0] = captures[2];
    6494            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6495            0 :                           _o1[0] = _r2;
    6496              :                         }
    6497            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6498            0 :                         if (!_r1)
    6499            0 :                           goto next_after_fail1700;
    6500            0 :                         res_op1 = _r1;
    6501              :                       }
    6502            0 :                       tree _r;
    6503            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6504            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6505              :                       return _r;
    6506              :                     }
    6507      6113089 : next_after_fail1700:;
    6508              :                   }
    6509              :               }
    6510              :             }
    6511              :           break;
    6512           24 :         case CFN_BUILT_IN_POW10F:
    6513           24 :           if (call_expr_nargs (_p1) == 1)
    6514              :     {
    6515           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6516           24 :               {
    6517           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6518           24 :                 if (flag_unsafe_math_optimizations
    6519              : )
    6520              :                   {
    6521           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1701;
    6522           24 :                     {
    6523           24 :                       tree res_op0;
    6524           24 :                       res_op0 = captures[0];
    6525           24 :                       tree res_op1;
    6526           24 :                       {
    6527           24 :                         tree _o1[1], _r1;
    6528           24 :                         {
    6529           24 :                           tree _o2[1], _r2;
    6530           24 :                           _o2[0] = captures[2];
    6531           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6532           24 :                           _o1[0] = _r2;
    6533              :                         }
    6534           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6535           24 :                         if (!_r1)
    6536           24 :                           goto next_after_fail1701;
    6537            0 :                         res_op1 = _r1;
    6538              :                       }
    6539            0 :                       tree _r;
    6540            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6541            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6542              :                       return _r;
    6543              :                     }
    6544      6113089 : next_after_fail1701:;
    6545              :                   }
    6546              :               }
    6547              :             }
    6548              :           break;
    6549           24 :         case CFN_BUILT_IN_POW10L:
    6550           24 :           if (call_expr_nargs (_p1) == 1)
    6551              :     {
    6552           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6553           24 :               {
    6554           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6555           24 :                 if (flag_unsafe_math_optimizations
    6556              : )
    6557              :                   {
    6558           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1702;
    6559           24 :                     {
    6560           24 :                       tree res_op0;
    6561           24 :                       res_op0 = captures[0];
    6562           24 :                       tree res_op1;
    6563           24 :                       {
    6564           24 :                         tree _o1[1], _r1;
    6565           24 :                         {
    6566           24 :                           tree _o2[1], _r2;
    6567           24 :                           _o2[0] = captures[2];
    6568           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6569           24 :                           _o1[0] = _r2;
    6570              :                         }
    6571           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6572           24 :                         if (!_r1)
    6573           24 :                           goto next_after_fail1702;
    6574            0 :                         res_op1 = _r1;
    6575              :                       }
    6576            0 :                       tree _r;
    6577            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6578            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6579              :                       return _r;
    6580              :                     }
    6581      6113089 : next_after_fail1702:;
    6582              :                   }
    6583              :               }
    6584              :             }
    6585              :           break;
    6586            0 :         case CFN_EXP2:
    6587            0 :           if (call_expr_nargs (_p1) == 1)
    6588              :     {
    6589            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6590            0 :               {
    6591            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6592            0 :                 if (flag_unsafe_math_optimizations
    6593              : )
    6594              :                   {
    6595            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1703;
    6596            0 :                     {
    6597            0 :                       tree res_op0;
    6598            0 :                       res_op0 = captures[0];
    6599            0 :                       tree res_op1;
    6600            0 :                       {
    6601            0 :                         tree _o1[1], _r1;
    6602            0 :                         {
    6603            0 :                           tree _o2[1], _r2;
    6604            0 :                           _o2[0] = captures[2];
    6605            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6606            0 :                           _o1[0] = _r2;
    6607              :                         }
    6608            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6609            0 :                         if (!_r1)
    6610            0 :                           goto next_after_fail1703;
    6611            0 :                         res_op1 = _r1;
    6612              :                       }
    6613            0 :                       tree _r;
    6614            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6615            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6616              :                       return _r;
    6617              :                     }
    6618      6113089 : next_after_fail1703:;
    6619              :                   }
    6620              :               }
    6621              :             }
    6622              :           break;
    6623            0 :         case CFN_SQRT:
    6624            0 :           if (call_expr_nargs (_p1) == 1)
    6625              :     {
    6626            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6627            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6628              :                 {
    6629            0 :                   {
    6630            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6631            0 :                     tree res = generic_simplify_353 (loc, type, _p0, _p1, captures, CFN_SQRT);
    6632            0 :                     if (res) return res;
    6633              :                   }
    6634              :                 }
    6635            0 :               switch (TREE_CODE (_q30))
    6636              :                 {
    6637            0 :                 case RDIV_EXPR:
    6638            0 :                   {
    6639            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6640            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6641            0 :                     {
    6642            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6643            0 :                       if (flag_unsafe_math_optimizations
    6644              : )
    6645              :                         {
    6646            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1704;
    6647            0 :                           {
    6648            0 :                             tree res_op0;
    6649            0 :                             res_op0 = captures[0];
    6650            0 :                             tree res_op1;
    6651            0 :                             {
    6652            0 :                               tree _o1[1], _r1;
    6653            0 :                               {
    6654            0 :                                 tree _o2[2], _r2;
    6655            0 :                                 _o2[0] = captures[4];
    6656            0 :                                 _o2[1] = captures[3];
    6657            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6658            0 :                                 _o1[0] = _r2;
    6659              :                               }
    6660            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6661            0 :                               if (!_r1)
    6662            0 :                                 goto next_after_fail1704;
    6663            0 :                               res_op1 = _r1;
    6664              :                             }
    6665            0 :                             tree _r;
    6666            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6667            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
    6668              :                             return _r;
    6669              :                           }
    6670      6113089 : next_after_fail1704:;
    6671              :                         }
    6672              :                     }
    6673              :                     break;
    6674              :                   }
    6675              :                 default:;
    6676              :                 }
    6677              :             }
    6678              :           break;
    6679            0 :         case CFN_EXP10:
    6680            0 :           if (call_expr_nargs (_p1) == 1)
    6681              :     {
    6682            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6683            0 :               {
    6684            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6685            0 :                 if (flag_unsafe_math_optimizations
    6686              : )
    6687              :                   {
    6688            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1705;
    6689            0 :                     {
    6690            0 :                       tree res_op0;
    6691            0 :                       res_op0 = captures[0];
    6692            0 :                       tree res_op1;
    6693            0 :                       {
    6694            0 :                         tree _o1[1], _r1;
    6695            0 :                         {
    6696            0 :                           tree _o2[1], _r2;
    6697            0 :                           _o2[0] = captures[2];
    6698            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6699            0 :                           _o1[0] = _r2;
    6700              :                         }
    6701            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6702            0 :                         if (!_r1)
    6703            0 :                           goto next_after_fail1705;
    6704            0 :                         res_op1 = _r1;
    6705              :                       }
    6706            0 :                       tree _r;
    6707            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6708            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6709              :                       return _r;
    6710              :                     }
    6711      6113089 : next_after_fail1705:;
    6712              :                   }
    6713              :               }
    6714              :             }
    6715              :           break;
    6716            0 :         case CFN_BUILT_IN_CBRTF:
    6717            0 :           if (call_expr_nargs (_p1) == 1)
    6718              :     {
    6719            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6720            0 :               switch (TREE_CODE (_q30))
    6721              :                 {
    6722            0 :                 case RDIV_EXPR:
    6723            0 :                   {
    6724            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6725            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6726            0 :                     {
    6727            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6728            0 :                       if (flag_unsafe_math_optimizations
    6729              : )
    6730              :                         {
    6731            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1706;
    6732            0 :                           {
    6733            0 :                             tree res_op0;
    6734            0 :                             res_op0 = captures[0];
    6735            0 :                             tree res_op1;
    6736            0 :                             {
    6737            0 :                               tree _o1[1], _r1;
    6738            0 :                               {
    6739            0 :                                 tree _o2[2], _r2;
    6740            0 :                                 _o2[0] = captures[4];
    6741            0 :                                 _o2[1] = captures[3];
    6742            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6743            0 :                                 _o1[0] = _r2;
    6744              :                               }
    6745            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6746            0 :                               if (!_r1)
    6747            0 :                                 goto next_after_fail1706;
    6748            0 :                               res_op1 = _r1;
    6749              :                             }
    6750            0 :                             tree _r;
    6751            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6752            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
    6753              :                             return _r;
    6754              :                           }
    6755      6113089 : next_after_fail1706:;
    6756              :                         }
    6757              :                     }
    6758              :                     break;
    6759              :                   }
    6760              :                 default:;
    6761              :                 }
    6762              :             }
    6763              :           break;
    6764            0 :         case CFN_BUILT_IN_CBRTL:
    6765            0 :           if (call_expr_nargs (_p1) == 1)
    6766              :     {
    6767            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6768            0 :               switch (TREE_CODE (_q30))
    6769              :                 {
    6770            0 :                 case RDIV_EXPR:
    6771            0 :                   {
    6772            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6773            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6774            0 :                     {
    6775            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6776            0 :                       if (flag_unsafe_math_optimizations
    6777              : )
    6778              :                         {
    6779            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1707;
    6780            0 :                           {
    6781            0 :                             tree res_op0;
    6782            0 :                             res_op0 = captures[0];
    6783            0 :                             tree res_op1;
    6784            0 :                             {
    6785            0 :                               tree _o1[1], _r1;
    6786            0 :                               {
    6787            0 :                                 tree _o2[2], _r2;
    6788            0 :                                 _o2[0] = captures[4];
    6789            0 :                                 _o2[1] = captures[3];
    6790            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6791            0 :                                 _o1[0] = _r2;
    6792              :                               }
    6793            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6794            0 :                               if (!_r1)
    6795            0 :                                 goto next_after_fail1707;
    6796            0 :                               res_op1 = _r1;
    6797              :                             }
    6798            0 :                             tree _r;
    6799            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6800            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
    6801              :                             return _r;
    6802              :                           }
    6803      6113089 : next_after_fail1707:;
    6804              :                         }
    6805              :                     }
    6806              :                     break;
    6807              :                   }
    6808              :                 default:;
    6809              :                 }
    6810              :             }
    6811              :           break;
    6812           24 :         case CFN_BUILT_IN_EXP10:
    6813           24 :           if (call_expr_nargs (_p1) == 1)
    6814              :     {
    6815           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6816           24 :               {
    6817           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6818           24 :                 if (flag_unsafe_math_optimizations
    6819              : )
    6820              :                   {
    6821           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1708;
    6822           24 :                     {
    6823           24 :                       tree res_op0;
    6824           24 :                       res_op0 = captures[0];
    6825           24 :                       tree res_op1;
    6826           24 :                       {
    6827           24 :                         tree _o1[1], _r1;
    6828           24 :                         {
    6829           24 :                           tree _o2[1], _r2;
    6830           24 :                           _o2[0] = captures[2];
    6831           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6832           24 :                           _o1[0] = _r2;
    6833              :                         }
    6834           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6835           24 :                         if (!_r1)
    6836            0 :                           goto next_after_fail1708;
    6837           24 :                         res_op1 = _r1;
    6838              :                       }
    6839           24 :                       tree _r;
    6840           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6841           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6842              :                       return _r;
    6843              :                     }
    6844      6113089 : next_after_fail1708:;
    6845              :                   }
    6846              :               }
    6847              :             }
    6848              :           break;
    6849           24 :         case CFN_BUILT_IN_EXP2F:
    6850           24 :           if (call_expr_nargs (_p1) == 1)
    6851              :     {
    6852           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6853           24 :               {
    6854           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6855           24 :                 if (flag_unsafe_math_optimizations
    6856              : )
    6857              :                   {
    6858           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1709;
    6859           24 :                     {
    6860           24 :                       tree res_op0;
    6861           24 :                       res_op0 = captures[0];
    6862           24 :                       tree res_op1;
    6863           24 :                       {
    6864           24 :                         tree _o1[1], _r1;
    6865           24 :                         {
    6866           24 :                           tree _o2[1], _r2;
    6867           24 :                           _o2[0] = captures[2];
    6868           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6869           24 :                           _o1[0] = _r2;
    6870              :                         }
    6871           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6872           24 :                         if (!_r1)
    6873            0 :                           goto next_after_fail1709;
    6874           24 :                         res_op1 = _r1;
    6875              :                       }
    6876           24 :                       tree _r;
    6877           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6878           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6879              :                       return _r;
    6880              :                     }
    6881      6113089 : next_after_fail1709:;
    6882              :                   }
    6883              :               }
    6884              :             }
    6885              :           break;
    6886           24 :         case CFN_BUILT_IN_EXP2L:
    6887           24 :           if (call_expr_nargs (_p1) == 1)
    6888              :     {
    6889           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6890           24 :               {
    6891           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6892           24 :                 if (flag_unsafe_math_optimizations
    6893              : )
    6894              :                   {
    6895           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1710;
    6896           24 :                     {
    6897           24 :                       tree res_op0;
    6898           24 :                       res_op0 = captures[0];
    6899           24 :                       tree res_op1;
    6900           24 :                       {
    6901           24 :                         tree _o1[1], _r1;
    6902           24 :                         {
    6903           24 :                           tree _o2[1], _r2;
    6904           24 :                           _o2[0] = captures[2];
    6905           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6906           24 :                           _o1[0] = _r2;
    6907              :                         }
    6908           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6909           24 :                         if (!_r1)
    6910            0 :                           goto next_after_fail1710;
    6911           24 :                         res_op1 = _r1;
    6912              :                       }
    6913           24 :                       tree _r;
    6914           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6915           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6916              :                       return _r;
    6917              :                     }
    6918      6113089 : next_after_fail1710:;
    6919              :                   }
    6920              :               }
    6921              :             }
    6922              :           break;
    6923           24 :         case CFN_BUILT_IN_POW10:
    6924           24 :           if (call_expr_nargs (_p1) == 1)
    6925              :     {
    6926           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6927           24 :               {
    6928           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6929           24 :                 if (flag_unsafe_math_optimizations
    6930              : )
    6931              :                   {
    6932           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1711;
    6933           24 :                     {
    6934           24 :                       tree res_op0;
    6935           24 :                       res_op0 = captures[0];
    6936           24 :                       tree res_op1;
    6937           24 :                       {
    6938           24 :                         tree _o1[1], _r1;
    6939           24 :                         {
    6940           24 :                           tree _o2[1], _r2;
    6941           24 :                           _o2[0] = captures[2];
    6942           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6943           24 :                           _o1[0] = _r2;
    6944              :                         }
    6945           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6946           24 :                         if (!_r1)
    6947           24 :                           goto next_after_fail1711;
    6948            0 :                         res_op1 = _r1;
    6949              :                       }
    6950            0 :                       tree _r;
    6951            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6952            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
    6953              :                       return _r;
    6954              :                     }
    6955      6113089 : next_after_fail1711:;
    6956              :                   }
    6957              :               }
    6958              :             }
    6959              :           break;
    6960              :         default:;
    6961              :         }
    6962              :       break;
    6963      6113089 :     default:;
    6964              :     }
    6965      6113089 :   switch (TREE_CODE (_p0))
    6966              :     {
    6967       196386 :     case CALL_EXPR:
    6968       196386 :       switch (get_call_combined_fn (_p0))
    6969              :         {
    6970            1 :         case CFN_BUILT_IN_SINHF:
    6971            1 :           if (call_expr_nargs (_p0) == 1)
    6972              :     {
    6973            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6974            1 :               switch (TREE_CODE (_p1))
    6975              :                 {
    6976            1 :                 case CALL_EXPR:
    6977            1 :                   switch (get_call_combined_fn (_p1))
    6978              :                     {
    6979            1 :                     case CFN_BUILT_IN_COSHF:
    6980            1 :                       if (call_expr_nargs (_p1) == 1)
    6981              :     {
    6982            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6983            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6984              :                             {
    6985            1 :                               {
    6986            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6987            1 :                                 tree res = generic_simplify_356 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_TANHF);
    6988            1 :                                 if (res) return res;
    6989              :                               }
    6990              :                             }
    6991              :                         }
    6992              :                       break;
    6993              :                     default:;
    6994              :                     }
    6995              :                   break;
    6996              :                 default:;
    6997              :                 }
    6998              :             }
    6999              :           break;
    7000            1 :         case CFN_BUILT_IN_SINHL:
    7001            1 :           if (call_expr_nargs (_p0) == 1)
    7002              :     {
    7003            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7004            1 :               switch (TREE_CODE (_p1))
    7005              :                 {
    7006            1 :                 case CALL_EXPR:
    7007            1 :                   switch (get_call_combined_fn (_p1))
    7008              :                     {
    7009            1 :                     case CFN_BUILT_IN_COSHL:
    7010            1 :                       if (call_expr_nargs (_p1) == 1)
    7011              :     {
    7012            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7013            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7014              :                             {
    7015            1 :                               {
    7016            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7017            1 :                                 tree res = generic_simplify_356 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_TANHL);
    7018            1 :                                 if (res) return res;
    7019              :                               }
    7020              :                             }
    7021              :                         }
    7022              :                       break;
    7023              :                     default:;
    7024              :                     }
    7025              :                   break;
    7026              :                 default:;
    7027              :                 }
    7028              :             }
    7029              :           break;
    7030            1 :         case CFN_BUILT_IN_TANHF:
    7031            1 :           if (call_expr_nargs (_p0) == 1)
    7032              :     {
    7033            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7034            1 :               switch (TREE_CODE (_p1))
    7035              :                 {
    7036            1 :                 case CALL_EXPR:
    7037            1 :                   switch (get_call_combined_fn (_p1))
    7038              :                     {
    7039            1 :                     case CFN_BUILT_IN_SINHF:
    7040            1 :                       if (call_expr_nargs (_p1) == 1)
    7041              :     {
    7042            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7043            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7044              :                             {
    7045            1 :                               {
    7046            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7047            1 :                                 tree res = generic_simplify_357 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHF, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF);
    7048            1 :                                 if (res) return res;
    7049              :                               }
    7050              :                             }
    7051              :                         }
    7052              :                       break;
    7053              :                     default:;
    7054              :                     }
    7055              :                   break;
    7056              :                 default:;
    7057              :                 }
    7058              :             }
    7059              :           break;
    7060            1 :         case CFN_BUILT_IN_TANHL:
    7061            1 :           if (call_expr_nargs (_p0) == 1)
    7062              :     {
    7063            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7064            1 :               switch (TREE_CODE (_p1))
    7065              :                 {
    7066            1 :                 case CALL_EXPR:
    7067            1 :                   switch (get_call_combined_fn (_p1))
    7068              :                     {
    7069            1 :                     case CFN_BUILT_IN_SINHL:
    7070            1 :                       if (call_expr_nargs (_p1) == 1)
    7071              :     {
    7072            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7073            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7074              :                             {
    7075            1 :                               {
    7076            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7077            1 :                                 tree res = generic_simplify_357 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHL, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL);
    7078            1 :                                 if (res) return res;
    7079              :                               }
    7080              :                             }
    7081              :                         }
    7082              :                       break;
    7083              :                     default:;
    7084              :                     }
    7085              :                   break;
    7086              :                 default:;
    7087              :                 }
    7088              :             }
    7089              :           break;
    7090            2 :         case CFN_BUILT_IN_COS:
    7091            2 :           if (call_expr_nargs (_p0) == 1)
    7092              :     {
    7093            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7094            2 :               switch (TREE_CODE (_p1))
    7095              :                 {
    7096            2 :                 case CALL_EXPR:
    7097            2 :                   switch (get_call_combined_fn (_p1))
    7098              :                     {
    7099            2 :                     case CFN_BUILT_IN_SIN:
    7100            2 :                       if (call_expr_nargs (_p1) == 1)
    7101              :     {
    7102            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7103            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7104              :                             {
    7105            2 :                               {
    7106            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7107            2 :                                 tree res = generic_simplify_358 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN);
    7108            2 :                                 if (res) return res;
    7109              :                               }
    7110              :                             }
    7111              :                         }
    7112              :                       break;
    7113              :                     default:;
    7114              :                     }
    7115              :                   break;
    7116              :                 default:;
    7117              :                 }
    7118              :             }
    7119              :           break;
    7120            4 :         case CFN_BUILT_IN_POW:
    7121            4 :           if (call_expr_nargs (_p0) == 2)
    7122              :     {
    7123            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7124            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7125            4 :               switch (TREE_CODE (_q21))
    7126              :                 {
    7127            4 :                 case REAL_CST:
    7128            4 :                   {
    7129            4 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7130              :                       {
    7131            4 :                         {
    7132            4 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7133            4 :                           tree res = generic_simplify_360 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7134            4 :                           if (res) return res;
    7135              :                         }
    7136              :                       }
    7137              :                     break;
    7138              :                   }
    7139              :                 default:;
    7140              :                 }
    7141              :             }
    7142              :           break;
    7143           94 :         case CFN_BUILT_IN_SIN:
    7144           94 :           if (call_expr_nargs (_p0) == 1)
    7145              :     {
    7146           94 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7147           94 :               switch (TREE_CODE (_p1))
    7148              :                 {
    7149            4 :                 case CALL_EXPR:
    7150            4 :                   switch (get_call_combined_fn (_p1))
    7151              :                     {
    7152            2 :                     case CFN_BUILT_IN_COS:
    7153            2 :                       if (call_expr_nargs (_p1) == 1)
    7154              :     {
    7155            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7156            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7157              :                             {
    7158            2 :                               {
    7159            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7160            2 :                                 tree res = generic_simplify_354 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS, CFN_BUILT_IN_TAN);
    7161            2 :                                 if (res) return res;
    7162              :                               }
    7163              :                             }
    7164              :                         }
    7165              :                       break;
    7166            2 :                     case CFN_BUILT_IN_TAN:
    7167            2 :                       if (call_expr_nargs (_p1) == 1)
    7168              :     {
    7169            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7170            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7171              :                             {
    7172            2 :                               {
    7173            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7174            2 :                                 tree res = generic_simplify_355 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS);
    7175            2 :                                 if (res) return res;
    7176              :                               }
    7177              :                             }
    7178              :                         }
    7179              :                       break;
    7180              :                     default:;
    7181              :                     }
    7182              :                   break;
    7183              :                 default:;
    7184              :                 }
    7185              :             }
    7186              :           break;
    7187            2 :         case CFN_BUILT_IN_TAN:
    7188            2 :           if (call_expr_nargs (_p0) == 1)
    7189              :     {
    7190            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7191            2 :               switch (TREE_CODE (_p1))
    7192              :                 {
    7193            2 :                 case CALL_EXPR:
    7194            2 :                   switch (get_call_combined_fn (_p1))
    7195              :                     {
    7196            2 :                     case CFN_BUILT_IN_SIN:
    7197            2 :                       if (call_expr_nargs (_p1) == 1)
    7198              :     {
    7199            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7200            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7201              :                             {
    7202            2 :                               {
    7203            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7204            2 :                                 tree res = generic_simplify_359 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS);
    7205            2 :                                 if (res) return res;
    7206              :                               }
    7207              :                             }
    7208              :                         }
    7209              :                       break;
    7210              :                     default:;
    7211              :                     }
    7212              :                   break;
    7213              :                 default:;
    7214              :                 }
    7215              :             }
    7216              :           break;
    7217            2 :         case CFN_BUILT_IN_COSF:
    7218            2 :           if (call_expr_nargs (_p0) == 1)
    7219              :     {
    7220            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7221            2 :               switch (TREE_CODE (_p1))
    7222              :                 {
    7223            2 :                 case CALL_EXPR:
    7224            2 :                   switch (get_call_combined_fn (_p1))
    7225              :                     {
    7226            2 :                     case CFN_BUILT_IN_SINF:
    7227            2 :                       if (call_expr_nargs (_p1) == 1)
    7228              :     {
    7229            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7230            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7231              :                             {
    7232            2 :                               {
    7233            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7234            2 :                                 tree res = generic_simplify_358 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF);
    7235            2 :                                 if (res) return res;
    7236              :                               }
    7237              :                             }
    7238              :                         }
    7239              :                       break;
    7240              :                     default:;
    7241              :                     }
    7242              :                   break;
    7243              :                 default:;
    7244              :                 }
    7245              :             }
    7246              :           break;
    7247            2 :         case CFN_BUILT_IN_COSL:
    7248            2 :           if (call_expr_nargs (_p0) == 1)
    7249              :     {
    7250            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7251            2 :               switch (TREE_CODE (_p1))
    7252              :                 {
    7253            2 :                 case CALL_EXPR:
    7254            2 :                   switch (get_call_combined_fn (_p1))
    7255              :                     {
    7256            2 :                     case CFN_BUILT_IN_SINL:
    7257            2 :                       if (call_expr_nargs (_p1) == 1)
    7258              :     {
    7259            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7260            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7261              :                             {
    7262            2 :                               {
    7263            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7264            2 :                                 tree res = generic_simplify_358 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL);
    7265            2 :                                 if (res) return res;
    7266              :                               }
    7267              :                             }
    7268              :                         }
    7269              :                       break;
    7270              :                     default:;
    7271              :                     }
    7272              :                   break;
    7273              :                 default:;
    7274              :                 }
    7275              :             }
    7276              :           break;
    7277            1 :         case CFN_BUILT_IN_POWF:
    7278            1 :           if (call_expr_nargs (_p0) == 2)
    7279              :     {
    7280            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7281            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7282            1 :               switch (TREE_CODE (_q21))
    7283              :                 {
    7284            1 :                 case REAL_CST:
    7285            1 :                   {
    7286            1 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7287              :                       {
    7288            0 :                         {
    7289            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7290            0 :                           tree res = generic_simplify_360 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7291            0 :                           if (res) return res;
    7292              :                         }
    7293              :                       }
    7294              :                     break;
    7295              :                   }
    7296              :                 default:;
    7297              :                 }
    7298              :             }
    7299              :           break;
    7300            0 :         case CFN_BUILT_IN_POWL:
    7301            0 :           if (call_expr_nargs (_p0) == 2)
    7302              :     {
    7303            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7304            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7305            0 :               switch (TREE_CODE (_q21))
    7306              :                 {
    7307            0 :                 case REAL_CST:
    7308            0 :                   {
    7309            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7310              :                       {
    7311            0 :                         {
    7312            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7313            0 :                           tree res = generic_simplify_360 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7314            0 :                           if (res) return res;
    7315              :                         }
    7316              :                       }
    7317              :                     break;
    7318              :                   }
    7319              :                 default:;
    7320              :                 }
    7321              :             }
    7322              :           break;
    7323            4 :         case CFN_BUILT_IN_SINF:
    7324            4 :           if (call_expr_nargs (_p0) == 1)
    7325              :     {
    7326            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7327            4 :               switch (TREE_CODE (_p1))
    7328              :                 {
    7329            4 :                 case CALL_EXPR:
    7330            4 :                   switch (get_call_combined_fn (_p1))
    7331              :                     {
    7332            2 :                     case CFN_BUILT_IN_COSF:
    7333            2 :                       if (call_expr_nargs (_p1) == 1)
    7334              :     {
    7335            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7336            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7337              :                             {
    7338            2 :                               {
    7339            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7340            2 :                                 tree res = generic_simplify_354 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_TANF);
    7341            2 :                                 if (res) return res;
    7342              :                               }
    7343              :                             }
    7344              :                         }
    7345              :                       break;
    7346            2 :                     case CFN_BUILT_IN_TANF:
    7347            2 :                       if (call_expr_nargs (_p1) == 1)
    7348              :     {
    7349            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7350            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7351              :                             {
    7352            2 :                               {
    7353            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7354            2 :                                 tree res = generic_simplify_355 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF);
    7355            2 :                                 if (res) return res;
    7356              :                               }
    7357              :                             }
    7358              :                         }
    7359              :                       break;
    7360              :                     default:;
    7361              :                     }
    7362              :                   break;
    7363              :                 default:;
    7364              :                 }
    7365              :             }
    7366              :           break;
    7367          143 :         case CFN_BUILT_IN_SINH:
    7368          143 :           if (call_expr_nargs (_p0) == 1)
    7369              :     {
    7370          143 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7371          143 :               switch (TREE_CODE (_p1))
    7372              :                 {
    7373            3 :                 case CALL_EXPR:
    7374            3 :                   switch (get_call_combined_fn (_p1))
    7375              :                     {
    7376            3 :                     case CFN_BUILT_IN_COSH:
    7377            3 :                       if (call_expr_nargs (_p1) == 1)
    7378              :     {
    7379            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7380            3 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7381              :                             {
    7382            3 :                               {
    7383            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7384            3 :                                 tree res = generic_simplify_356 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH, CFN_BUILT_IN_TANH);
    7385            3 :                                 if (res) return res;
    7386              :                               }
    7387              :                             }
    7388              :                         }
    7389              :                       break;
    7390              :                     default:;
    7391              :                     }
    7392              :                   break;
    7393              :                 default:;
    7394              :                 }
    7395              :             }
    7396              :           break;
    7397            4 :         case CFN_BUILT_IN_SINL:
    7398            4 :           if (call_expr_nargs (_p0) == 1)
    7399              :     {
    7400            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7401            4 :               switch (TREE_CODE (_p1))
    7402              :                 {
    7403            4 :                 case CALL_EXPR:
    7404            4 :                   switch (get_call_combined_fn (_p1))
    7405              :                     {
    7406            2 :                     case CFN_BUILT_IN_COSL:
    7407            2 :                       if (call_expr_nargs (_p1) == 1)
    7408              :     {
    7409            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7410            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7411              :                             {
    7412            2 :                               {
    7413            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7414            2 :                                 tree res = generic_simplify_354 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_TANL);
    7415            2 :                                 if (res) return res;
    7416              :                               }
    7417              :                             }
    7418              :                         }
    7419              :                       break;
    7420            2 :                     case CFN_BUILT_IN_TANL:
    7421            2 :                       if (call_expr_nargs (_p1) == 1)
    7422              :     {
    7423            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7424            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7425              :                             {
    7426            2 :                               {
    7427            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7428            2 :                                 tree res = generic_simplify_355 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL);
    7429            2 :                                 if (res) return res;
    7430              :                               }
    7431              :                             }
    7432              :                         }
    7433              :                       break;
    7434              :                     default:;
    7435              :                     }
    7436              :                   break;
    7437              :                 default:;
    7438              :                 }
    7439              :             }
    7440              :           break;
    7441            2 :         case CFN_BUILT_IN_TANF:
    7442            2 :           if (call_expr_nargs (_p0) == 1)
    7443              :     {
    7444            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7445            2 :               switch (TREE_CODE (_p1))
    7446              :                 {
    7447            2 :                 case CALL_EXPR:
    7448            2 :                   switch (get_call_combined_fn (_p1))
    7449              :                     {
    7450            2 :                     case CFN_BUILT_IN_SINF:
    7451            2 :                       if (call_expr_nargs (_p1) == 1)
    7452              :     {
    7453            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7454            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7455              :                             {
    7456            2 :                               {
    7457            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7458            2 :                                 tree res = generic_simplify_359 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF);
    7459            2 :                                 if (res) return res;
    7460              :                               }
    7461              :                             }
    7462              :                         }
    7463              :                       break;
    7464              :                     default:;
    7465              :                     }
    7466              :                   break;
    7467              :                 default:;
    7468              :                 }
    7469              :             }
    7470              :           break;
    7471            1 :         case CFN_BUILT_IN_TANH:
    7472            1 :           if (call_expr_nargs (_p0) == 1)
    7473              :     {
    7474            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7475            1 :               switch (TREE_CODE (_p1))
    7476              :                 {
    7477            1 :                 case CALL_EXPR:
    7478            1 :                   switch (get_call_combined_fn (_p1))
    7479              :                     {
    7480            1 :                     case CFN_BUILT_IN_SINH:
    7481            1 :                       if (call_expr_nargs (_p1) == 1)
    7482              :     {
    7483            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7484            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7485              :                             {
    7486            1 :                               {
    7487            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7488            1 :                                 tree res = generic_simplify_357 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANH, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH);
    7489            1 :                                 if (res) return res;
    7490              :                               }
    7491              :                             }
    7492              :                         }
    7493              :                       break;
    7494              :                     default:;
    7495              :                     }
    7496              :                   break;
    7497              :                 default:;
    7498              :                 }
    7499              :             }
    7500              :           break;
    7501            2 :         case CFN_BUILT_IN_TANL:
    7502            2 :           if (call_expr_nargs (_p0) == 1)
    7503              :     {
    7504            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7505            2 :               switch (TREE_CODE (_p1))
    7506              :                 {
    7507            2 :                 case CALL_EXPR:
    7508            2 :                   switch (get_call_combined_fn (_p1))
    7509              :                     {
    7510            2 :                     case CFN_BUILT_IN_SINL:
    7511            2 :                       if (call_expr_nargs (_p1) == 1)
    7512              :     {
    7513            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7514            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7515              :                             {
    7516            2 :                               {
    7517            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7518            2 :                                 tree res = generic_simplify_359 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL);
    7519            2 :                                 if (res) return res;
    7520              :                               }
    7521              :                             }
    7522              :                         }
    7523              :                       break;
    7524              :                     default:;
    7525              :                     }
    7526              :                   break;
    7527              :                 default:;
    7528              :                 }
    7529              :             }
    7530              :           break;
    7531            0 :         case CFN_COS:
    7532            0 :           if (call_expr_nargs (_p0) == 1)
    7533              :     {
    7534            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7535            0 :               switch (TREE_CODE (_p1))
    7536              :                 {
    7537            0 :                 case CALL_EXPR:
    7538            0 :                   switch (get_call_combined_fn (_p1))
    7539              :                     {
    7540            0 :                     case CFN_SIN:
    7541            0 :                       if (call_expr_nargs (_p1) == 1)
    7542              :     {
    7543            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7544            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7545              :                             {
    7546            0 :                               {
    7547            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7548            0 :                                 tree res = generic_simplify_358 (loc, type, _p0, _p1, captures, CFN_COS, CFN_SIN, CFN_TAN);
    7549            0 :                                 if (res) return res;
    7550              :                               }
    7551              :                             }
    7552              :                         }
    7553              :                       break;
    7554              :                     default:;
    7555              :                     }
    7556              :                   break;
    7557              :                 default:;
    7558              :                 }
    7559              :             }
    7560              :           break;
    7561            0 :         case CFN_POW:
    7562            0 :           if (call_expr_nargs (_p0) == 2)
    7563              :     {
    7564            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7565            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7566            0 :               switch (TREE_CODE (_q21))
    7567              :                 {
    7568            0 :                 case REAL_CST:
    7569            0 :                   {
    7570            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7571              :                       {
    7572            0 :                         {
    7573            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7574            0 :                           tree res = generic_simplify_360 (loc, type, _p0, _p1, captures, CFN_POW);
    7575            0 :                           if (res) return res;
    7576              :                         }
    7577              :                       }
    7578              :                     break;
    7579              :                   }
    7580              :                 default:;
    7581              :                 }
    7582              :             }
    7583              :           break;
    7584            0 :         case CFN_SIN:
    7585            0 :           if (call_expr_nargs (_p0) == 1)
    7586              :     {
    7587            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7588            0 :               switch (TREE_CODE (_p1))
    7589              :                 {
    7590            0 :                 case CALL_EXPR:
    7591            0 :                   switch (get_call_combined_fn (_p1))
    7592              :                     {
    7593            0 :                     case CFN_COS:
    7594            0 :                       if (call_expr_nargs (_p1) == 1)
    7595              :     {
    7596            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7597            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7598              :                             {
    7599            0 :                               {
    7600            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7601            0 :                                 tree res = generic_simplify_354 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_COS, CFN_TAN);
    7602            0 :                                 if (res) return res;
    7603              :                               }
    7604              :                             }
    7605              :                         }
    7606              :                       break;
    7607            0 :                     case CFN_TAN:
    7608            0 :                       if (call_expr_nargs (_p1) == 1)
    7609              :     {
    7610            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7611            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7612              :                             {
    7613            0 :                               {
    7614            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7615            0 :                                 tree res = generic_simplify_355 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_TAN, CFN_COS);
    7616            0 :                                 if (res) return res;
    7617              :                               }
    7618              :                             }
    7619              :                         }
    7620              :                       break;
    7621              :                     default:;
    7622              :                     }
    7623              :                   break;
    7624              :                 default:;
    7625              :                 }
    7626              :             }
    7627              :           break;
    7628            0 :         case CFN_TAN:
    7629            0 :           if (call_expr_nargs (_p0) == 1)
    7630              :     {
    7631            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7632            0 :               switch (TREE_CODE (_p1))
    7633              :                 {
    7634            0 :                 case CALL_EXPR:
    7635            0 :                   switch (get_call_combined_fn (_p1))
    7636              :                     {
    7637            0 :                     case CFN_SIN:
    7638            0 :                       if (call_expr_nargs (_p1) == 1)
    7639              :     {
    7640            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7641            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7642              :                             {
    7643            0 :                               {
    7644            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7645            0 :                                 tree res = generic_simplify_359 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_SIN, CFN_COS);
    7646            0 :                                 if (res) return res;
    7647              :                               }
    7648              :                             }
    7649              :                         }
    7650              :                       break;
    7651              :                     default:;
    7652              :                     }
    7653              :                   break;
    7654              :                 default:;
    7655              :                 }
    7656              :             }
    7657              :           break;
    7658            0 :         case CFN_SINH:
    7659            0 :           if (call_expr_nargs (_p0) == 1)
    7660              :     {
    7661            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7662            0 :               switch (TREE_CODE (_p1))
    7663              :                 {
    7664            0 :                 case CALL_EXPR:
    7665            0 :                   switch (get_call_combined_fn (_p1))
    7666              :                     {
    7667            0 :                     case CFN_COSH:
    7668            0 :                       if (call_expr_nargs (_p1) == 1)
    7669              :     {
    7670            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7671            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7672              :                             {
    7673            0 :                               {
    7674            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7675            0 :                                 tree res = generic_simplify_356 (loc, type, _p0, _p1, captures, CFN_SINH, CFN_COSH, CFN_TANH);
    7676            0 :                                 if (res) return res;
    7677              :                               }
    7678              :                             }
    7679              :                         }
    7680              :                       break;
    7681              :                     default:;
    7682              :                     }
    7683              :                   break;
    7684              :                 default:;
    7685              :                 }
    7686              :             }
    7687              :           break;
    7688            0 :         case CFN_TANH:
    7689            0 :           if (call_expr_nargs (_p0) == 1)
    7690              :     {
    7691            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7692            0 :               switch (TREE_CODE (_p1))
    7693              :                 {
    7694            0 :                 case CALL_EXPR:
    7695            0 :                   switch (get_call_combined_fn (_p1))
    7696              :                     {
    7697            0 :                     case CFN_SINH:
    7698            0 :                       if (call_expr_nargs (_p1) == 1)
    7699              :     {
    7700            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7701            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7702              :                             {
    7703            0 :                               {
    7704            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7705            0 :                                 tree res = generic_simplify_357 (loc, type, _p0, _p1, captures, CFN_TANH, CFN_SINH, CFN_COSH);
    7706            0 :                                 if (res) return res;
    7707              :                               }
    7708              :                             }
    7709              :                         }
    7710              :                       break;
    7711              :                     default:;
    7712              :                     }
    7713              :                   break;
    7714              :                 default:;
    7715              :                 }
    7716              :             }
    7717              :           break;
    7718              :         default:;
    7719              :         }
    7720              :       break;
    7721      6113055 :     default:;
    7722              :     }
    7723      6113055 :   switch (TREE_CODE (_p1))
    7724              :     {
    7725       817007 :     case CALL_EXPR:
    7726       817007 :       switch (get_call_combined_fn (_p1))
    7727              :         {
    7728           22 :         case CFN_BUILT_IN_POW:
    7729           22 :           if (call_expr_nargs (_p1) == 2)
    7730              :     {
    7731           22 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7732           22 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7733           22 :               {
    7734           22 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7735           22 :                 tree res = generic_simplify_361 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7736           22 :                 if (res) return res;
    7737              :               }
    7738              :             }
    7739              :           break;
    7740            2 :         case CFN_BUILT_IN_POWF:
    7741            2 :           if (call_expr_nargs (_p1) == 2)
    7742              :     {
    7743            2 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7744            2 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7745            2 :               {
    7746            2 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7747            2 :                 tree res = generic_simplify_361 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7748            2 :                 if (res) return res;
    7749              :               }
    7750              :             }
    7751              :           break;
    7752            0 :         case CFN_BUILT_IN_POWL:
    7753            0 :           if (call_expr_nargs (_p1) == 2)
    7754              :     {
    7755            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7756            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7757            0 :               {
    7758            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7759            0 :                 tree res = generic_simplify_361 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7760            0 :                 if (res) return res;
    7761              :               }
    7762              :             }
    7763              :           break;
    7764            0 :         case CFN_POW:
    7765            0 :           if (call_expr_nargs (_p1) == 2)
    7766              :     {
    7767            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7768            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7769            0 :               {
    7770            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7771            0 :                 tree res = generic_simplify_361 (loc, type, _p0, _p1, captures, CFN_POW);
    7772            0 :                 if (res) return res;
    7773              :               }
    7774              :             }
    7775              :           break;
    7776              :         default:;
    7777              :         }
    7778              :       break;
    7779              :     default:;
    7780              :     }
    7781              :   return NULL_TREE;
    7782              : }
    7783              : 
    7784              : tree
    7785     21259761 : generic_simplify_GT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7786              : {
    7787     21259761 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7788     21259761 :   switch (TREE_CODE (_p0))
    7789              :     {
    7790         1035 :     case RDIV_EXPR:
    7791         1035 :       {
    7792         1035 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7793         1035 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7794         1035 :         switch (TREE_CODE (_q20))
    7795              :           {
    7796           21 :           case REAL_CST:
    7797           21 :             {
    7798           21 :               if (real_zerop (_p1))
    7799              :                 {
    7800            0 :                   {
    7801            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7802            0 :                     tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    7803            0 :                     if (res) return res;
    7804              :                   }
    7805              :                 }
    7806              :               break;
    7807              :             }
    7808              :           default:;
    7809              :           }
    7810              :         break;
    7811              :       }
    7812     21259761 :     default:;
    7813              :     }
    7814     21259761 :   switch (TREE_CODE (_p1))
    7815              :     {
    7816           81 :     case TRUNC_MOD_EXPR:
    7817           81 :       {
    7818           81 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7819           81 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7820           81 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7821              :           {
    7822            0 :             {
    7823            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    7824            0 :               tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
    7825            0 :               if (res) return res;
    7826              :             }
    7827              :           }
    7828              :         break;
    7829              :       }
    7830     21259761 :     default:;
    7831              :     }
    7832     21259761 :   switch (TREE_CODE (_p0))
    7833              :     {
    7834       236227 :     case MULT_EXPR:
    7835       236227 :       {
    7836       236227 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7837       236227 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7838       236227 :         switch (TREE_CODE (_p1))
    7839              :           {
    7840         7620 :           case MULT_EXPR:
    7841         7620 :             {
    7842         7620 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7843         7620 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7844         7620 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7845              :                 {
    7846          590 :                   {
    7847          590 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7848          590 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GT_EXPR);
    7849          590 :                     if (res) return res;
    7850              :                   }
    7851              :                 }
    7852         7135 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7853              :                 {
    7854            8 :                   {
    7855            8 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7856            8 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GT_EXPR);
    7857            8 :                     if (res) return res;
    7858              :                   }
    7859              :                 }
    7860         7135 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7861              :                 {
    7862            0 :                   {
    7863            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7864            0 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GT_EXPR);
    7865            0 :                     if (res) return res;
    7866              :                   }
    7867              :                 }
    7868         7135 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7869              :                 {
    7870          647 :                   {
    7871          647 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7872          647 :                     tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GT_EXPR);
    7873          647 :                     if (res) return res;
    7874              :                   }
    7875              :                 }
    7876              :               break;
    7877              :             }
    7878              :           default:;
    7879              :           }
    7880              :         break;
    7881              :       }
    7882      2194286 :     case PLUS_EXPR:
    7883      2194286 :       {
    7884      2194286 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7885      2194286 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7886      2194286 :         if (integer_minus_onep (_q21))
    7887              :           {
    7888       547456 :             switch (TREE_CODE (_p1))
    7889              :               {
    7890       407648 :               case INTEGER_CST:
    7891       407648 :                 {
    7892       407648 :                   {
    7893       407648 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7894       407648 :                     tree res = generic_simplify_430 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    7895       407648 :                     if (res) return res;
    7896              :                   }
    7897       403035 :                   break;
    7898              :                 }
    7899              :               default:;
    7900              :               }
    7901              :           }
    7902      2189673 :         switch (TREE_CODE (_p1))
    7903              :           {
    7904        59774 :           case PLUS_EXPR:
    7905        59774 :             {
    7906        59774 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7907        59774 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7908        59774 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7909              :                 {
    7910         4411 :                   {
    7911         4411 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7912         4411 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GT_EXPR);
    7913         4411 :                     if (res) return res;
    7914              :                   }
    7915              :                 }
    7916        56580 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7917              :                 {
    7918          319 :                   {
    7919          319 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7920          319 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GT_EXPR);
    7921          319 :                     if (res) return res;
    7922              :                   }
    7923              :                 }
    7924        56580 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7925              :                 {
    7926           29 :                   {
    7927           29 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7928           29 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GT_EXPR);
    7929           29 :                     if (res) return res;
    7930              :                   }
    7931              :                 }
    7932        56580 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7933              :                 {
    7934          301 :                   {
    7935          301 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7936          301 :                     tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GT_EXPR);
    7937          301 :                     if (res) return res;
    7938              :                   }
    7939              :                 }
    7940              :               break;
    7941              :             }
    7942      2186479 :           default:;
    7943              :           }
    7944      2186479 :         switch (TREE_CODE (_q21))
    7945              :           {
    7946      1983737 :           case INTEGER_CST:
    7947      1983737 :             {
    7948      1983737 :               switch (TREE_CODE (_p1))
    7949              :                 {
    7950        34976 :                 case PLUS_EXPR:
    7951        34976 :                   {
    7952        34976 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7953        34976 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7954        34976 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7955              :                       {
    7956         1191 :                         {
    7957         1191 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7958         1191 :                           tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, GT_EXPR);
    7959         1191 :                           if (res) return res;
    7960              :                         }
    7961              :                       }
    7962              :                     break;
    7963              :                   }
    7964              :                 default:;
    7965              :                 }
    7966              :               break;
    7967              :             }
    7968      2186479 :           default:;
    7969              :           }
    7970      2186479 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7971              :           {
    7972        58815 :             {
    7973        58815 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7974        58815 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR);
    7975        58815 :               if (res) return res;
    7976              :             }
    7977              :           }
    7978      2147899 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7979              :           {
    7980         7264 :             {
    7981         7264 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7982         7264 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GT_EXPR);
    7983         7264 :               if (res) return res;
    7984              :             }
    7985              :           }
    7986              :         break;
    7987              :       }
    7988      2412388 :     CASE_CONVERT:
    7989      2412388 :       {
    7990      2412388 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7991      2412388 :         switch (TREE_CODE (_q20))
    7992              :           {
    7993            5 :           case EXACT_DIV_EXPR:
    7994            5 :             {
    7995            5 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7996            5 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7997            5 :               switch (TREE_CODE (_q31))
    7998              :                 {
    7999            5 :                 case INTEGER_CST:
    8000            5 :                   {
    8001            5 :                     switch (TREE_CODE (_p1))
    8002              :                       {
    8003            2 :                       CASE_CONVERT:
    8004            2 :                         {
    8005            2 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    8006            2 :                           switch (TREE_CODE (_q60))
    8007              :                             {
    8008            0 :                             case EXACT_DIV_EXPR:
    8009            0 :                               {
    8010            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    8011            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    8012            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    8013              :                                   {
    8014            0 :                                     {
    8015            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    8016            0 :                                       tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, GT_EXPR);
    8017            0 :                                       if (res) return res;
    8018              :                                     }
    8019              :                                   }
    8020              :                                 break;
    8021              :                               }
    8022              :                             default:;
    8023              :                             }
    8024              :                           break;
    8025              :                         }
    8026              :                       default:;
    8027              :                       }
    8028              :                     break;
    8029              :                   }
    8030              :                 default:;
    8031              :                 }
    8032              :               break;
    8033              :             }
    8034              :           default:;
    8035              :           }
    8036              :         break;
    8037              :       }
    8038         4033 :     case EXACT_DIV_EXPR:
    8039         4033 :       {
    8040         4033 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8041         4033 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8042         4033 :         switch (TREE_CODE (_q21))
    8043              :           {
    8044         4033 :           case INTEGER_CST:
    8045         4033 :             {
    8046         4033 :               switch (TREE_CODE (_p1))
    8047              :                 {
    8048            6 :                 case EXACT_DIV_EXPR:
    8049            6 :                   {
    8050            6 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8051            6 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    8052            6 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8053              :                       {
    8054            0 :                         {
    8055            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    8056            0 :                           tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, GT_EXPR);
    8057            0 :                           if (res) return res;
    8058              :                         }
    8059              :                       }
    8060              :                     break;
    8061              :                   }
    8062              :                 default:;
    8063              :                 }
    8064              :               break;
    8065              :             }
    8066              :           default:;
    8067              :           }
    8068              :         break;
    8069              :       }
    8070      1643582 :     case TRUNC_DIV_EXPR:
    8071      1643582 :       {
    8072      1643582 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8073      1643582 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8074      1643582 :         switch (TREE_CODE (_q21))
    8075              :           {
    8076      1635168 :           case INTEGER_CST:
    8077      1635168 :             {
    8078      1635168 :               switch (TREE_CODE (_p1))
    8079              :                 {
    8080      1621529 :                 case INTEGER_CST:
    8081      1621529 :                   {
    8082      1621529 :                     {
    8083      1621529 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8084      1621529 :                       tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, GT_EXPR);
    8085      1621529 :                       if (res) return res;
    8086              :                     }
    8087           69 :                     break;
    8088              :                   }
    8089              :                 default:;
    8090              :                 }
    8091              :               break;
    8092              :             }
    8093              :           default:;
    8094              :           }
    8095              :         break;
    8096              :       }
    8097       800550 :     case MINUS_EXPR:
    8098       800550 :       {
    8099       800550 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8100       800550 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8101       800550 :         switch (TREE_CODE (_p1))
    8102              :           {
    8103         3883 :           case MINUS_EXPR:
    8104         3883 :             {
    8105         3883 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8106         3883 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8107         3883 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8108              :                 {
    8109          920 :                   {
    8110          920 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    8111          920 :                     tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, GT_EXPR);
    8112          920 :                     if (res) return res;
    8113              :                   }
    8114              :                 }
    8115         3883 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8116              :                 {
    8117          170 :                   {
    8118          170 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    8119          170 :                     tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GT_EXPR);
    8120          170 :                     if (res) return res;
    8121              :                   }
    8122              :                 }
    8123              :               break;
    8124              :             }
    8125              :           default:;
    8126              :           }
    8127              :         break;
    8128              :       }
    8129        56486 :     case POINTER_DIFF_EXPR:
    8130        56486 :       {
    8131        56486 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8132        56486 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8133        56486 :         switch (TREE_CODE (_p1))
    8134              :           {
    8135          295 :           case POINTER_DIFF_EXPR:
    8136          295 :             {
    8137          295 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8138          295 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8139          295 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8140              :                 {
    8141           43 :                   {
    8142           43 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    8143           43 :                     tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, GT_EXPR);
    8144           43 :                     if (res) return res;
    8145              :                   }
    8146              :                 }
    8147          252 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8148              :                 {
    8149            0 :                   {
    8150            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    8151            0 :                     tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, GT_EXPR);
    8152            0 :                     if (res) return res;
    8153              :                   }
    8154              :                 }
    8155              :               break;
    8156              :             }
    8157              :           default:;
    8158              :           }
    8159              :         break;
    8160              :       }
    8161     19589823 :     default:;
    8162              :     }
    8163     19589823 :   switch (TREE_CODE (_p1))
    8164              :     {
    8165       111493 :     case PLUS_EXPR:
    8166       111493 :       {
    8167       111493 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8168       111493 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8169       111493 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8170              :           {
    8171            0 :             {
    8172            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    8173            0 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR);
    8174            0 :               if (res) return res;
    8175              :             }
    8176              :           }
    8177       111493 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8178              :           {
    8179            4 :             {
    8180            4 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    8181            4 :               tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, LT_EXPR);
    8182            4 :               if (res) return res;
    8183              :             }
    8184              :           }
    8185              :         break;
    8186              :       }
    8187        12383 :     case MINUS_EXPR:
    8188        12383 :       {
    8189        12383 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8190        12383 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8191        12383 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8192              :           {
    8193            0 :             {
    8194            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    8195            0 :               tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, GT_EXPR);
    8196            0 :               if (res) return res;
    8197              :             }
    8198              :           }
    8199              :         break;
    8200              :       }
    8201     19589823 :     default:;
    8202              :     }
    8203     19589823 :   switch (TREE_CODE (_p0))
    8204              :     {
    8205       800550 :     case MINUS_EXPR:
    8206       800550 :       {
    8207       800550 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8208       800550 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8209       800550 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8210              :           {
    8211        16570 :             {
    8212        16570 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    8213        16570 :               tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, LT_EXPR);
    8214        16570 :               if (res) return res;
    8215              :             }
    8216              :           }
    8217              :         break;
    8218              :       }
    8219        22435 :     case BIT_AND_EXPR:
    8220        22435 :       {
    8221        22435 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8222        22435 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8223        22435 :         if (tree_expr_nonnegative_p (_q20))
    8224              :           {
    8225        20629 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8226              :               {
    8227            0 :                 {
    8228            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8229            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    8230            0 :                   if (res) return res;
    8231              :                 }
    8232              :               }
    8233              :           }
    8234        22435 :         if (tree_expr_nonnegative_p (_q21))
    8235              :           {
    8236        21518 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8237              :               {
    8238         5312 :                 {
    8239         5312 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8240         5312 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GT_EXPR, BIT_AND_EXPR);
    8241         5312 :                   if (res) return res;
    8242              :                 }
    8243              :               }
    8244              :           }
    8245              :         break;
    8246              :       }
    8247     19584468 :     default:;
    8248              :     }
    8249     19584468 :   switch (TREE_CODE (_p1))
    8250              :     {
    8251          149 :     case BIT_IOR_EXPR:
    8252          149 :       {
    8253          149 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8254          149 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8255          149 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8256              :           {
    8257            0 :             if (tree_expr_nonnegative_p (_q30))
    8258              :               {
    8259            0 :                 {
    8260            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8261            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    8262            0 :                   if (res) return res;
    8263              :                 }
    8264              :               }
    8265              :           }
    8266          149 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8267              :           {
    8268            0 :             if (tree_expr_nonnegative_p (_q31))
    8269              :               {
    8270            0 :                 {
    8271            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8272            0 :                   tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, LT_EXPR, BIT_IOR_EXPR);
    8273            0 :                   if (res) return res;
    8274              :                 }
    8275              :               }
    8276              :           }
    8277              :         break;
    8278              :       }
    8279     19584468 :     default:;
    8280              :     }
    8281     19584468 :   switch (TREE_CODE (_p0))
    8282              :     {
    8283        33831 :     case MIN_EXPR:
    8284        33831 :       {
    8285        33831 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8286        33831 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8287        33831 :         switch (TREE_CODE (_p1))
    8288              :           {
    8289            4 :           case MAX_EXPR:
    8290            4 :             {
    8291            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8292            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8293            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8294              :                 {
    8295            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8296              :                     {
    8297            0 :                       {
    8298            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8299            0 :                         tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, GT_EXPR);
    8300            0 :                         if (res) return res;
    8301              :                       }
    8302              :                     }
    8303              :                 }
    8304              :               break;
    8305              :             }
    8306              :           default:;
    8307              :           }
    8308              :         break;
    8309              :       }
    8310        13323 :     case MAX_EXPR:
    8311        13323 :       {
    8312        13323 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8313        13323 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8314        13323 :         switch (TREE_CODE (_p1))
    8315              :           {
    8316           16 :           case MIN_EXPR:
    8317           16 :             {
    8318           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8319           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8320           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8321              :                 {
    8322            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8323              :                     {
    8324            0 :                       {
    8325            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8326            0 :                         tree res = generic_simplify_408 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
    8327            0 :                         if (res) return res;
    8328              :                       }
    8329              :                     }
    8330              :                 }
    8331              :               break;
    8332              :             }
    8333        13323 :           default:;
    8334              :           }
    8335        13323 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8336              :           {
    8337            1 :             {
    8338            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8339            1 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    8340            1 :               if (res) return res;
    8341              :             }
    8342              :           }
    8343        13322 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8344              :           {
    8345           12 :             {
    8346           12 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8347           12 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, LT_EXPR);
    8348           12 :               if (res) return res;
    8349              :             }
    8350              :           }
    8351              :         break;
    8352              :       }
    8353     19584458 :     default:;
    8354              :     }
    8355     19584458 :   switch (TREE_CODE (_p1))
    8356              :     {
    8357          121 :     case MIN_EXPR:
    8358          121 :       {
    8359          121 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8360          121 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8361          121 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8362              :           {
    8363            0 :             {
    8364            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8365            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    8366            0 :               if (res) return res;
    8367              :             }
    8368              :           }
    8369          121 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8370              :           {
    8371            0 :             {
    8372            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8373            0 :               tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR, GT_EXPR);
    8374            0 :               if (res) return res;
    8375              :             }
    8376              :           }
    8377              :         break;
    8378              :       }
    8379         2165 :     case MAX_EXPR:
    8380         2165 :       {
    8381         2165 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8382         2165 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8383         2165 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8384              :           {
    8385            0 :             {
    8386            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8387            0 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    8388            0 :               if (res) return res;
    8389              :             }
    8390              :           }
    8391         2165 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8392              :           {
    8393            0 :             {
    8394            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8395            0 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
    8396            0 :               if (res) return res;
    8397              :             }
    8398              :           }
    8399              :         break;
    8400              :       }
    8401     19584458 :     default:;
    8402              :     }
    8403     19584458 :   switch (TREE_CODE (_p0))
    8404              :     {
    8405        33831 :     case MIN_EXPR:
    8406        33831 :       {
    8407        33831 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8408        33831 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8409        33831 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8410              :           {
    8411            1 :             {
    8412            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8413            1 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    8414            1 :               if (res) return res;
    8415              :             }
    8416              :           }
    8417        33830 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8418              :           {
    8419            1 :             {
    8420            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8421            1 :               tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, MIN_EXPR, LT_EXPR);
    8422            1 :               if (res) return res;
    8423              :             }
    8424              :           }
    8425        33829 :         switch (TREE_CODE (_q21))
    8426              :           {
    8427        20299 :           case INTEGER_CST:
    8428        20299 :             {
    8429        20299 :               switch (TREE_CODE (_p1))
    8430              :                 {
    8431           61 :                 case INTEGER_CST:
    8432           61 :                   {
    8433           61 :                     {
    8434           61 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8435           61 :                       tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, MIN_EXPR, GT_EXPR, BIT_AND_EXPR);
    8436           61 :                       if (res) return res;
    8437              :                     }
    8438            0 :                     break;
    8439              :                   }
    8440              :                 default:;
    8441              :                 }
    8442              :               break;
    8443              :             }
    8444              :           default:;
    8445              :           }
    8446              :         break;
    8447              :       }
    8448        13313 :     case MAX_EXPR:
    8449        13313 :       {
    8450        13313 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8451        13313 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8452        13313 :         switch (TREE_CODE (_q21))
    8453              :           {
    8454        12674 :           case INTEGER_CST:
    8455        12674 :             {
    8456        12674 :               switch (TREE_CODE (_p1))
    8457              :                 {
    8458            0 :                 case INTEGER_CST:
    8459            0 :                   {
    8460            0 :                     {
    8461            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8462            0 :                       tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR, BIT_IOR_EXPR);
    8463            0 :                       if (res) return res;
    8464              :                     }
    8465            0 :                     break;
    8466              :                   }
    8467              :                 default:;
    8468              :                 }
    8469              :               break;
    8470              :             }
    8471              :           default:;
    8472              :           }
    8473              :         break;
    8474              :       }
    8475        17123 :     case BIT_AND_EXPR:
    8476        17123 :       {
    8477        17123 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8478        17123 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8479        17123 :         switch (TREE_CODE (_q21))
    8480              :           {
    8481        15879 :           case INTEGER_CST:
    8482        15879 :             {
    8483        15879 :               switch (TREE_CODE (_p1))
    8484              :                 {
    8485         9820 :                 case INTEGER_CST:
    8486         9820 :                   {
    8487         9820 :                     {
    8488         9820 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8489         9820 :                       tree res = generic_simplify_431 (loc, type, _p0, _p1, captures, GT_EXPR);
    8490         9820 :                       if (res) return res;
    8491              :                     }
    8492         9800 :                     break;
    8493              :                   }
    8494              :                 default:;
    8495              :                 }
    8496              :               break;
    8497              :             }
    8498              :           default:;
    8499              :           }
    8500              :         break;
    8501              :       }
    8502          900 :     case VEC_COND_EXPR:
    8503          900 :       {
    8504          900 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8505          900 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8506          900 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8507          900 :         switch (TREE_CODE (_p1))
    8508              :           {
    8509           14 :           case VEC_COND_EXPR:
    8510           14 :             {
    8511           14 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8512           14 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8513           14 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8514           14 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8515              :                 {
    8516            0 :                   {
    8517            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8518            0 :                     if (VECTOR_TYPE_P (type)
    8519            0 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    8520            0 :  || types_match (type, TREE_TYPE (captures[2]))
    8521            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8522              :  || (optimize_vectors_before_lowering_p ()
    8523            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8524              : )
    8525              :                       {
    8526            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1719;
    8527            0 :                         {
    8528            0 :                           tree res_op0;
    8529            0 :                           res_op0 = captures[1];
    8530            0 :                           tree res_op1;
    8531            0 :                           {
    8532            0 :                             tree _o1[2], _r1;
    8533            0 :                             _o1[0] = captures[2];
    8534            0 :                             _o1[1] = captures[5];
    8535            0 :                             _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8536            0 :                             if (EXPR_P (_r1))
    8537            0 :                               goto next_after_fail1719;
    8538            0 :                             res_op1 = _r1;
    8539              :                           }
    8540            0 :                           tree res_op2;
    8541            0 :                           {
    8542            0 :                             tree _o1[2], _r1;
    8543            0 :                             _o1[0] = captures[3];
    8544            0 :                             _o1[1] = captures[6];
    8545            0 :                             _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8546            0 :                             if (EXPR_P (_r1))
    8547            0 :                               goto next_after_fail1719;
    8548            0 :                             res_op2 = _r1;
    8549              :                           }
    8550            0 :                           tree _r;
    8551            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8552            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
    8553              :                           return _r;
    8554              :                         }
    8555          900 : next_after_fail1719:;
    8556              :                       }
    8557              :                   }
    8558              :                 }
    8559              :               break;
    8560              :             }
    8561          900 :           default:;
    8562              :           }
    8563          900 :         {
    8564          900 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8565          900 :           if (VECTOR_TYPE_P (type)
    8566         1800 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    8567          900 :  || types_match (type, TREE_TYPE (captures[2]))
    8568          900 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8569              :  || (optimize_vectors_before_lowering_p ()
    8570           10 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8571              : )
    8572              :             {
    8573          900 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1720;
    8574          900 :               {
    8575          900 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1720;
    8576           33 :                 tree res_op0;
    8577           33 :                 res_op0 = captures[1];
    8578           33 :                 tree res_op1;
    8579           33 :                 {
    8580           33 :                   tree _o1[2], _r1;
    8581           33 :                   _o1[0] = captures[2];
    8582           33 :                   _o1[1] = unshare_expr (captures[4]);
    8583           33 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8584           33 :                   if (EXPR_P (_r1))
    8585           28 :                     goto next_after_fail1720;
    8586            5 :                   res_op1 = _r1;
    8587              :                 }
    8588            5 :                 tree res_op2;
    8589            5 :                 {
    8590            5 :                   tree _o1[2], _r1;
    8591            5 :                   _o1[0] = captures[3];
    8592            5 :                   _o1[1] = captures[4];
    8593            5 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8594            5 :                   if (EXPR_P (_r1))
    8595            5 :                     goto next_after_fail1720;
    8596            0 :                   res_op2 = _r1;
    8597              :                 }
    8598            0 :                 tree _r;
    8599            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8600            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
    8601              :                 return _r;
    8602              :               }
    8603     19584375 : next_after_fail1720:;
    8604              :             }
    8605              :         }
    8606              :         break;
    8607              :       }
    8608     19584375 :     default:;
    8609              :     }
    8610     19584375 :   switch (TREE_CODE (_p1))
    8611              :     {
    8612           74 :     case VEC_COND_EXPR:
    8613           74 :       {
    8614           74 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8615           74 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8616           74 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8617           74 :         {
    8618           74 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8619           74 :           if (VECTOR_TYPE_P (type)
    8620          148 :  && (TREE_CODE_CLASS (GT_EXPR) != tcc_comparison
    8621           74 :  || types_match (type, TREE_TYPE (captures[3]))
    8622           74 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8623              :  || (optimize_vectors_before_lowering_p ()
    8624            7 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8625              : )
    8626              :             {
    8627           74 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1721;
    8628           74 :               {
    8629           74 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1721;
    8630            0 :                 tree res_op0;
    8631            0 :                 res_op0 = captures[2];
    8632            0 :                 tree res_op1;
    8633            0 :                 {
    8634            0 :                   tree _o1[2], _r1;
    8635            0 :                   _o1[0] = unshare_expr (captures[0]);
    8636            0 :                   _o1[1] = captures[3];
    8637            0 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8638            0 :                   if (EXPR_P (_r1))
    8639            0 :                     goto next_after_fail1721;
    8640            0 :                   res_op1 = _r1;
    8641              :                 }
    8642            0 :                 tree res_op2;
    8643            0 :                 {
    8644            0 :                   tree _o1[2], _r1;
    8645            0 :                   _o1[0] = captures[0];
    8646            0 :                   _o1[1] = captures[4];
    8647            0 :                   _r1 = fold_build2_loc (loc, GT_EXPR, type, _o1[0], _o1[1]);
    8648            0 :                   if (EXPR_P (_r1))
    8649            0 :                     goto next_after_fail1721;
    8650            0 :                   res_op2 = _r1;
    8651              :                 }
    8652            0 :                 tree _r;
    8653            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8654            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
    8655              :                 return _r;
    8656              :               }
    8657     19584375 : next_after_fail1721:;
    8658              :             }
    8659              :         }
    8660              :         break;
    8661              :       }
    8662     19584375 :     default:;
    8663              :     }
    8664     19584375 : if (uniform_integer_cst_p (_p1))
    8665              :   {
    8666     13810880 :     {
    8667     13810880 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8668     13810880 :       tree res = generic_simplify_432 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
    8669     13810880 :       if (res) return res;
    8670              :     }
    8671              :   }
    8672     19503455 :   switch (TREE_CODE (_p0))
    8673              :     {
    8674       790168 :     case MINUS_EXPR:
    8675       790168 :       {
    8676       790168 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8677       790168 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8678       790168 :         switch (TREE_CODE (_q20))
    8679              :           {
    8680         4920 :           CASE_CONVERT:
    8681         4920 :             {
    8682         4920 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8683         4920 :               switch (TREE_CODE (_q30))
    8684              :                 {
    8685            0 :                 case GT_EXPR:
    8686            0 :                   {
    8687            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8688            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8689            0 :                     switch (TREE_CODE (_q21))
    8690              :                       {
    8691            0 :                       CASE_CONVERT:
    8692            0 :                         {
    8693            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    8694            0 :                           switch (TREE_CODE (_q70))
    8695              :                             {
    8696            0 :                             case LT_EXPR:
    8697            0 :                               {
    8698            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8699            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8700            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    8701              :                                   {
    8702            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    8703              :                                       {
    8704            0 :                                         if (integer_zerop (_p1))
    8705              :                                           {
    8706            0 :                                             {
    8707            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    8708            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GT_EXPR);
    8709            0 :                                               if (res) return res;
    8710              :                                             }
    8711              :                                           }
    8712              :                                       }
    8713              :                                   }
    8714              :                                 break;
    8715              :                               }
    8716            0 :                             case GT_EXPR:
    8717            0 :                               {
    8718            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8719            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8720            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    8721              :                                   {
    8722            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    8723              :                                       {
    8724            0 :                                         if (integer_zerop (_p1))
    8725              :                                           {
    8726            0 :                                             {
    8727            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    8728            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GT_EXPR);
    8729            0 :                                               if (res) return res;
    8730              :                                             }
    8731              :                                           }
    8732              :                                       }
    8733              :                                   }
    8734              :                                 break;
    8735              :                               }
    8736              :                             default:;
    8737              :                             }
    8738              :                           break;
    8739              :                         }
    8740              :                       default:;
    8741              :                       }
    8742              :                     break;
    8743              :                   }
    8744            0 :                 case GE_EXPR:
    8745            0 :                   {
    8746            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8747            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8748            0 :                     switch (TREE_CODE (_q21))
    8749              :                       {
    8750            0 :                       CASE_CONVERT:
    8751            0 :                         {
    8752            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    8753            0 :                           switch (TREE_CODE (_q70))
    8754              :                             {
    8755            0 :                             case LE_EXPR:
    8756            0 :                               {
    8757            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8758            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8759            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    8760              :                                   {
    8761            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    8762              :                                       {
    8763            0 :                                         if (integer_zerop (_p1))
    8764              :                                           {
    8765            0 :                                             {
    8766            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    8767            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GT_EXPR);
    8768            0 :                                               if (res) return res;
    8769              :                                             }
    8770              :                                           }
    8771              :                                       }
    8772              :                                   }
    8773              :                                 break;
    8774              :                               }
    8775            0 :                             case GE_EXPR:
    8776            0 :                               {
    8777            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8778            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8779            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    8780              :                                   {
    8781            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    8782              :                                       {
    8783            0 :                                         if (integer_zerop (_p1))
    8784              :                                           {
    8785            0 :                                             {
    8786            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    8787            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GT_EXPR);
    8788            0 :                                               if (res) return res;
    8789              :                                             }
    8790              :                                           }
    8791              :                                       }
    8792              :                                   }
    8793              :                                 break;
    8794              :                               }
    8795              :                             default:;
    8796              :                             }
    8797              :                           break;
    8798              :                         }
    8799              :                       default:;
    8800              :                       }
    8801              :                     break;
    8802              :                   }
    8803            0 :                 case LT_EXPR:
    8804            0 :                   {
    8805            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8806            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8807            0 :                     switch (TREE_CODE (_q21))
    8808              :                       {
    8809            0 :                       CASE_CONVERT:
    8810            0 :                         {
    8811            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    8812            0 :                           switch (TREE_CODE (_q70))
    8813              :                             {
    8814            0 :                             case LT_EXPR:
    8815            0 :                               {
    8816            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8817            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8818            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    8819              :                                   {
    8820            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    8821              :                                       {
    8822            0 :                                         if (integer_zerop (_p1))
    8823              :                                           {
    8824            0 :                                             {
    8825            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    8826            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GT_EXPR);
    8827            0 :                                               if (res) return res;
    8828              :                                             }
    8829              :                                           }
    8830              :                                       }
    8831              :                                   }
    8832              :                                 break;
    8833              :                               }
    8834            0 :                             case GT_EXPR:
    8835            0 :                               {
    8836            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8837            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8838            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    8839              :                                   {
    8840            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    8841              :                                       {
    8842            0 :                                         if (integer_zerop (_p1))
    8843              :                                           {
    8844            0 :                                             {
    8845            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    8846            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GT_EXPR);
    8847            0 :                                               if (res) return res;
    8848              :                                             }
    8849              :                                           }
    8850              :                                       }
    8851              :                                   }
    8852              :                                 break;
    8853              :                               }
    8854              :                             default:;
    8855              :                             }
    8856              :                           break;
    8857              :                         }
    8858              :                       default:;
    8859              :                       }
    8860              :                     break;
    8861              :                   }
    8862            0 :                 case LE_EXPR:
    8863            0 :                   {
    8864            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    8865            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    8866            0 :                     switch (TREE_CODE (_q21))
    8867              :                       {
    8868            0 :                       CASE_CONVERT:
    8869            0 :                         {
    8870            0 :                           tree _q70 = TREE_OPERAND (_q21, 0);
    8871            0 :                           switch (TREE_CODE (_q70))
    8872              :                             {
    8873            0 :                             case LE_EXPR:
    8874            0 :                               {
    8875            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8876            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8877            0 :                                 if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    8878              :                                   {
    8879            0 :                                     if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    8880              :                                       {
    8881            0 :                                         if (integer_zerop (_p1))
    8882              :                                           {
    8883            0 :                                             {
    8884            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    8885            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GT_EXPR);
    8886            0 :                                               if (res) return res;
    8887              :                                             }
    8888              :                                           }
    8889              :                                       }
    8890              :                                   }
    8891              :                                 break;
    8892              :                               }
    8893            0 :                             case GE_EXPR:
    8894            0 :                               {
    8895            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
    8896            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
    8897            0 :                                 if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    8898              :                                   {
    8899            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    8900              :                                       {
    8901            0 :                                         if (integer_zerop (_p1))
    8902              :                                           {
    8903            0 :                                             {
    8904            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    8905            0 :                                               tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GT_EXPR);
    8906            0 :                                               if (res) return res;
    8907              :                                             }
    8908              :                                           }
    8909              :                                       }
    8910              :                                   }
    8911              :                                 break;
    8912              :                               }
    8913              :                             default:;
    8914              :                             }
    8915              :                           break;
    8916              :                         }
    8917              :                       default:;
    8918              :                       }
    8919              :                     break;
    8920              :                   }
    8921              :                 default:;
    8922              :                 }
    8923              :               break;
    8924              :             }
    8925            0 :           case GT_EXPR:
    8926            0 :             {
    8927            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8928            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8929            0 :               switch (TREE_CODE (_q21))
    8930              :                 {
    8931            0 :                 case LT_EXPR:
    8932            0 :                   {
    8933            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    8934            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    8935            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8936              :                       {
    8937            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    8938              :                           {
    8939            0 :                             if (integer_zerop (_p1))
    8940              :                               {
    8941            0 :                                 {
    8942            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8943            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GT_EXPR);
    8944            0 :                                   if (res) return res;
    8945              :                                 }
    8946              :                               }
    8947              :                           }
    8948              :                       }
    8949              :                     break;
    8950              :                   }
    8951            0 :                 case GT_EXPR:
    8952            0 :                   {
    8953            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    8954            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    8955            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    8956              :                       {
    8957            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8958              :                           {
    8959            0 :                             if (integer_zerop (_p1))
    8960              :                               {
    8961            0 :                                 {
    8962            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8963            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GT_EXPR);
    8964            0 :                                   if (res) return res;
    8965              :                                 }
    8966              :                               }
    8967              :                           }
    8968              :                       }
    8969              :                     break;
    8970              :                   }
    8971              :                 default:;
    8972              :                 }
    8973              :               break;
    8974              :             }
    8975            0 :           case GE_EXPR:
    8976            0 :             {
    8977            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8978            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8979            0 :               switch (TREE_CODE (_q21))
    8980              :                 {
    8981            0 :                 case LE_EXPR:
    8982            0 :                   {
    8983            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    8984            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    8985            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8986              :                       {
    8987            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    8988              :                           {
    8989            0 :                             if (integer_zerop (_p1))
    8990              :                               {
    8991            0 :                                 {
    8992            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    8993            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GT_EXPR);
    8994            0 :                                   if (res) return res;
    8995              :                                 }
    8996              :                               }
    8997              :                           }
    8998              :                       }
    8999              :                     break;
    9000              :                   }
    9001            0 :                 case GE_EXPR:
    9002            0 :                   {
    9003            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9004            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9005            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9006              :                       {
    9007            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9008              :                           {
    9009            0 :                             if (integer_zerop (_p1))
    9010              :                               {
    9011            0 :                                 {
    9012            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    9013            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GT_EXPR);
    9014            0 :                                   if (res) return res;
    9015              :                                 }
    9016              :                               }
    9017              :                           }
    9018              :                       }
    9019              :                     break;
    9020              :                   }
    9021              :                 default:;
    9022              :                 }
    9023              :               break;
    9024              :             }
    9025            0 :           case LT_EXPR:
    9026            0 :             {
    9027            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9028            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9029            0 :               switch (TREE_CODE (_q21))
    9030              :                 {
    9031            0 :                 case LT_EXPR:
    9032            0 :                   {
    9033            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9034            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9035            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9036              :                       {
    9037            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9038              :                           {
    9039            0 :                             if (integer_zerop (_p1))
    9040              :                               {
    9041            0 :                                 {
    9042            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9043            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GT_EXPR);
    9044            0 :                                   if (res) return res;
    9045              :                                 }
    9046              :                               }
    9047              :                           }
    9048              :                       }
    9049              :                     break;
    9050              :                   }
    9051            0 :                 case GT_EXPR:
    9052            0 :                   {
    9053            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9054            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9055            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9056              :                       {
    9057            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9058              :                           {
    9059            0 :                             if (integer_zerop (_p1))
    9060              :                               {
    9061            0 :                                 {
    9062            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9063            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR, GT_EXPR);
    9064            0 :                                   if (res) return res;
    9065              :                                 }
    9066              :                               }
    9067              :                           }
    9068              :                       }
    9069              :                     break;
    9070              :                   }
    9071              :                 default:;
    9072              :                 }
    9073              :               break;
    9074              :             }
    9075            0 :           case LE_EXPR:
    9076            0 :             {
    9077            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9078            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9079            0 :               switch (TREE_CODE (_q21))
    9080              :                 {
    9081            0 :                 case LE_EXPR:
    9082            0 :                   {
    9083            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9084            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9085            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    9086              :                       {
    9087            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    9088              :                           {
    9089            0 :                             if (integer_zerop (_p1))
    9090              :                               {
    9091            0 :                                 {
    9092            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9093            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GT_EXPR);
    9094            0 :                                   if (res) return res;
    9095              :                                 }
    9096              :                               }
    9097              :                           }
    9098              :                       }
    9099              :                     break;
    9100              :                   }
    9101            0 :                 case GE_EXPR:
    9102            0 :                   {
    9103            0 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    9104            0 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    9105            0 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    9106              :                       {
    9107            0 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    9108              :                           {
    9109            0 :                             if (integer_zerop (_p1))
    9110              :                               {
    9111            0 :                                 {
    9112            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    9113            0 :                                   tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR, GT_EXPR);
    9114            0 :                                   if (res) return res;
    9115              :                                 }
    9116              :                               }
    9117              :                           }
    9118              :                       }
    9119              :                     break;
    9120              :                   }
    9121              :                 default:;
    9122              :                 }
    9123              :               break;
    9124              :             }
    9125              :           default:;
    9126              :           }
    9127              :         break;
    9128              :       }
    9129       235432 :     case MULT_EXPR:
    9130       235432 :       {
    9131       235432 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9132       235432 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9133       235432 :         switch (TREE_CODE (_q21))
    9134              :           {
    9135       195503 :           case INTEGER_CST:
    9136       195503 :             {
    9137       195503 :               if (integer_zerop (_p1))
    9138              :                 {
    9139         7323 :                   {
    9140         7323 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9141         7323 :                     tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9142         7323 :                     if (res) return res;
    9143              :                   }
    9144              :                 }
    9145              :               break;
    9146              :             }
    9147              :           default:;
    9148              :           }
    9149              :         break;
    9150              :       }
    9151     19501085 :     default:;
    9152              :     }
    9153     19501085 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    9154              :     {
    9155         1290 :       {
    9156         1290 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9157         1290 :         tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, GT_EXPR);
    9158         1290 :         if (res) return res;
    9159              :       }
    9160              :     }
    9161     19499795 :   switch (TREE_CODE (_p0))
    9162              :     {
    9163       816620 :     case BIT_NOT_EXPR:
    9164       816620 :       {
    9165       816620 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9166       816620 :         switch (TREE_CODE (_p1))
    9167              :           {
    9168           10 :           case BIT_NOT_EXPR:
    9169           10 :             {
    9170           10 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9171           10 :               {
    9172           10 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    9173           10 :                 tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, GT_EXPR);
    9174           10 :                 if (res) return res;
    9175              :               }
    9176            0 :               break;
    9177              :             }
    9178       816610 :           default:;
    9179              :           }
    9180       816610 :       {
    9181       816610 :         tree _p1_pops[1];
    9182       816610 :         if (tree_nop_convert (_p1, _p1_pops))
    9183              :           {
    9184            2 :             tree _q40 = _p1_pops[0];
    9185            2 :             switch (TREE_CODE (_q40))
    9186              :               {
    9187            0 :               case BIT_NOT_EXPR:
    9188            0 :                 {
    9189            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    9190            0 :                   {
    9191            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    9192            0 :                     tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, GT_EXPR);
    9193            0 :                     if (res) return res;
    9194              :                   }
    9195            0 :                   break;
    9196              :                 }
    9197              :               default:;
    9198              :               }
    9199              :           }
    9200              :       }
    9201       816610 :       if (CONSTANT_CLASS_P (_p1))
    9202              :         {
    9203       814253 :           {
    9204       814253 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9205       814253 :             tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9206       814253 :             if (res) return res;
    9207              :           }
    9208              :         }
    9209              :         break;
    9210              :       }
    9211     18685532 :     default:;
    9212              :     }
    9213     18685532 : {
    9214     18685532 :   tree _p0_pops[1];
    9215     18685532 :   if (tree_nop_convert (_p0, _p0_pops))
    9216              :     {
    9217      1000290 :       tree _q20 = _p0_pops[0];
    9218      1000290 :       switch (TREE_CODE (_q20))
    9219              :         {
    9220            0 :         case BIT_NOT_EXPR:
    9221            0 :           {
    9222            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    9223            0 :             switch (TREE_CODE (_p1))
    9224              :               {
    9225            0 :               case BIT_NOT_EXPR:
    9226            0 :                 {
    9227            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9228            0 :                   {
    9229            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    9230            0 :                     tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, GT_EXPR);
    9231            0 :                     if (res) return res;
    9232              :                   }
    9233            0 :                   break;
    9234              :                 }
    9235            0 :               default:;
    9236              :               }
    9237            0 :           {
    9238            0 :             tree _p1_pops[1];
    9239            0 :             if (tree_nop_convert (_p1, _p1_pops))
    9240              :               {
    9241            0 :                 tree _q50 = _p1_pops[0];
    9242            0 :                 switch (TREE_CODE (_q50))
    9243              :                   {
    9244            0 :                   case BIT_NOT_EXPR:
    9245            0 :                     {
    9246            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    9247            0 :                       {
    9248            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    9249            0 :                         tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, GT_EXPR);
    9250            0 :                         if (res) return res;
    9251              :                       }
    9252            0 :                       break;
    9253              :                     }
    9254              :                   default:;
    9255              :                   }
    9256              :               }
    9257              :           }
    9258            0 :           if (CONSTANT_CLASS_P (_p1))
    9259              :             {
    9260            0 :               {
    9261            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    9262            0 :                 tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9263            0 :                 if (res) return res;
    9264              :               }
    9265              :             }
    9266              :             break;
    9267              :           }
    9268              :         default:;
    9269              :         }
    9270              :     }
    9271              : }
    9272     18685532 :   switch (TREE_CODE (_p1))
    9273              :     {
    9274       924549 :     case REAL_CST:
    9275       924549 :       {
    9276       924549 :         {
    9277       924549 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9278       924549 :           tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, GT_EXPR);
    9279       924549 :           if (res) return res;
    9280              :         }
    9281       924480 :         break;
    9282              :       }
    9283     18685463 :     default:;
    9284              :     }
    9285     18685463 :   switch (TREE_CODE (_p0))
    9286              :     {
    9287      2145751 :     case PLUS_EXPR:
    9288      2145751 :       {
    9289      2145751 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9290      2145751 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9291      2145751 :         switch (TREE_CODE (_q21))
    9292              :           {
    9293          446 :           case REAL_CST:
    9294          446 :             {
    9295          446 :               switch (TREE_CODE (_p1))
    9296              :                 {
    9297          198 :                 case REAL_CST:
    9298          198 :                   {
    9299          198 :                     {
    9300          198 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9301          198 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR);
    9302          198 :                       if (res) return res;
    9303              :                     }
    9304          198 :                     break;
    9305              :                   }
    9306              :                 default:;
    9307              :                 }
    9308              :               break;
    9309              :             }
    9310      1944293 :           case INTEGER_CST:
    9311      1944293 :             {
    9312      1944293 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9313              :                 {
    9314         1223 :                   {
    9315         1223 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    9316         1223 :                     tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    9317         1223 :                     if (res) return res;
    9318              :                   }
    9319              :                 }
    9320              :               break;
    9321              :             }
    9322              :           default:;
    9323              :           }
    9324              :         break;
    9325              :       }
    9326       790168 :     case MINUS_EXPR:
    9327       790168 :       {
    9328       790168 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9329       790168 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9330       790168 :         switch (TREE_CODE (_q21))
    9331              :           {
    9332          751 :           case REAL_CST:
    9333          751 :             {
    9334          751 :               switch (TREE_CODE (_p1))
    9335              :                 {
    9336          537 :                 case REAL_CST:
    9337          537 :                   {
    9338          537 :                     {
    9339          537 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9340          537 :                       tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, MINUS_EXPR, GT_EXPR);
    9341          537 :                       if (res) return res;
    9342              :                     }
    9343          535 :                     break;
    9344              :                   }
    9345              :                 default:;
    9346              :                 }
    9347              :               break;
    9348              :             }
    9349       790166 :           default:;
    9350              :           }
    9351       790166 :         switch (TREE_CODE (_q20))
    9352              :           {
    9353           43 :           case REAL_CST:
    9354           43 :             {
    9355           43 :               switch (TREE_CODE (_p1))
    9356              :                 {
    9357           37 :                 case REAL_CST:
    9358           37 :                   {
    9359           37 :                     {
    9360           37 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9361           37 :                       tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, GT_EXPR);
    9362           37 :                       if (res) return res;
    9363              :                     }
    9364           35 :                     break;
    9365              :                   }
    9366              :                 default:;
    9367              :                 }
    9368              :               break;
    9369              :             }
    9370              :           default:;
    9371              :           }
    9372              :         break;
    9373              :       }
    9374        41451 :     case FLOAT_EXPR:
    9375        41451 :       {
    9376        41451 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9377        41451 :         switch (TREE_CODE (_p1))
    9378              :           {
    9379           31 :           case FLOAT_EXPR:
    9380           31 :             {
    9381           31 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9382           31 :               {
    9383           31 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9384           31 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
    9385           31 :                 if (res) return res;
    9386              :               }
    9387           31 :               break;
    9388              :             }
    9389        39735 :           case REAL_CST:
    9390        39735 :             {
    9391        39735 :               {
    9392        39735 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9393        39735 :                 tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
    9394        39735 :                 if (res) return res;
    9395              :               }
    9396        20003 :               break;
    9397              :             }
    9398              :           default:;
    9399              :           }
    9400              :         break;
    9401              :       }
    9402         4033 :     case EXACT_DIV_EXPR:
    9403         4033 :       {
    9404         4033 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9405         4033 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9406         4033 :         switch (TREE_CODE (_q21))
    9407              :           {
    9408         4033 :           case INTEGER_CST:
    9409         4033 :             {
    9410         4033 :               switch (TREE_CODE (_p1))
    9411              :                 {
    9412          186 :                 case INTEGER_CST:
    9413          186 :                   {
    9414          186 :                     {
    9415          186 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9416          186 :                       tree res = generic_simplify_416 (loc, type, _p0, _p1, captures, GT_EXPR);
    9417          186 :                       if (res) return res;
    9418              :                     }
    9419            0 :                     break;
    9420              :                   }
    9421              :                 default:;
    9422              :                 }
    9423              :               break;
    9424              :             }
    9425              :           default:;
    9426              :           }
    9427              :         break;
    9428              :       }
    9429      2408823 :     CASE_CONVERT:
    9430      2408823 :       {
    9431      2408823 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9432      2408823 :         switch (TREE_CODE (_q20))
    9433              :           {
    9434            5 :           case EXACT_DIV_EXPR:
    9435            5 :             {
    9436            5 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9437            5 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9438            5 :               switch (TREE_CODE (_q31))
    9439              :                 {
    9440            5 :                 case INTEGER_CST:
    9441            5 :                   {
    9442            5 :                     switch (TREE_CODE (_p1))
    9443              :                       {
    9444            0 :                       case INTEGER_CST:
    9445            0 :                         {
    9446            0 :                           {
    9447            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    9448            0 :                             tree res = generic_simplify_417 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9449            0 :                             if (res) return res;
    9450              :                           }
    9451            0 :                           break;
    9452              :                         }
    9453              :                       default:;
    9454              :                       }
    9455              :                     break;
    9456              :                   }
    9457              :                 default:;
    9458              :                 }
    9459              :               break;
    9460              :             }
    9461      2408823 :           default:;
    9462              :           }
    9463      2408823 :         switch (TREE_CODE (_p1))
    9464              :           {
    9465       180393 :           CASE_CONVERT:
    9466       180393 :             {
    9467       180393 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9468       180393 :               {
    9469       180393 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9470       180393 :                 tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, GT_EXPR);
    9471       180393 :                 if (res) return res;
    9472              :               }
    9473       150150 :               break;
    9474              :             }
    9475      2378580 :           default:;
    9476              :           }
    9477      2378580 :         {
    9478      2378580 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9479      2378580 :           tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, GT_EXPR);
    9480      2378580 :           if (res) return res;
    9481              :         }
    9482      1226607 :         switch (TREE_CODE (_q20))
    9483              :           {
    9484         1027 :           case ADDR_EXPR:
    9485         1027 :             {
    9486         1027 :               switch (TREE_CODE (_p1))
    9487              :                 {
    9488          735 :                 CASE_CONVERT:
    9489          735 :                   {
    9490          735 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9491          735 :                     switch (TREE_CODE (_q40))
    9492              :                       {
    9493          735 :                       case ADDR_EXPR:
    9494          735 :                         {
    9495          735 :                           {
    9496          735 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    9497          735 :                             tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, GT_EXPR);
    9498          735 :                             if (res) return res;
    9499              :                           }
    9500          242 :                           break;
    9501              :                         }
    9502              :                       default:;
    9503              :                       }
    9504              :                     break;
    9505              :                   }
    9506            7 :                 case ADDR_EXPR:
    9507            7 :                   {
    9508            7 :                     {
    9509            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9510            7 :                       tree res = generic_simplify_305 (loc, type, _p0, _p1, captures, GT_EXPR);
    9511            7 :                       if (res) return res;
    9512              :                     }
    9513            0 :                     break;
    9514              :                   }
    9515              :                 default:;
    9516              :                 }
    9517              :               break;
    9518              :             }
    9519      1226107 :           default:;
    9520              :           }
    9521      1226107 :         if (uniform_integer_cst_p (_p1))
    9522              :           {
    9523       343478 :             {
    9524       343478 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9525       343478 :               tree res = generic_simplify_418 (loc, type, _p0, _p1, captures, GT_EXPR);
    9526       343478 :               if (res) return res;
    9527              :             }
    9528              :           }
    9529              :         break;
    9530              :       }
    9531        17100 :     case BIT_AND_EXPR:
    9532        17100 :       {
    9533        17100 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9534        17100 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9535        17100 :         switch (TREE_CODE (_q21))
    9536              :           {
    9537        15856 :           case INTEGER_CST:
    9538        15856 :             {
    9539        15856 :               switch (TREE_CODE (_p1))
    9540              :                 {
    9541         9797 :                 case INTEGER_CST:
    9542         9797 :                   {
    9543         9797 :                     {
    9544         9797 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9545         9797 :                       tree res = generic_simplify_433 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    9546         9797 :                       if (res) return res;
    9547              :                     }
    9548         9053 :                     break;
    9549              :                   }
    9550              :                 default:;
    9551              :                 }
    9552              :               break;
    9553              :             }
    9554              :           default:;
    9555              :           }
    9556              :         break;
    9557              :       }
    9558        10980 :     case NEGATE_EXPR:
    9559        10980 :       {
    9560        10980 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9561        10980 :         switch (TREE_CODE (_p1))
    9562              :           {
    9563            4 :           case NEGATE_EXPR:
    9564            4 :             {
    9565            4 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9566            4 :               {
    9567            4 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9568            4 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9569            4 :                 if (res) return res;
    9570              :               }
    9571            4 :               break;
    9572              :             }
    9573        10980 :           default:;
    9574              :           }
    9575        10980 :       if (CONSTANT_CLASS_P (_p1))
    9576              :         {
    9577          698 :           {
    9578          698 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9579          698 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
    9580          698 :             if (res) return res;
    9581              :           }
    9582              :         }
    9583              :         break;
    9584              :       }
    9585         4563 :     case ADDR_EXPR:
    9586         4563 :       {
    9587         4563 :         switch (TREE_CODE (_p1))
    9588              :           {
    9589            0 :           CASE_CONVERT:
    9590            0 :             {
    9591            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9592            0 :               switch (TREE_CODE (_q30))
    9593              :                 {
    9594            0 :                 case ADDR_EXPR:
    9595            0 :                   {
    9596            0 :                     {
    9597            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    9598            0 :                       tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, GT_EXPR);
    9599            0 :                       if (res) return res;
    9600              :                     }
    9601            0 :                     break;
    9602              :                   }
    9603              :                 default:;
    9604              :                 }
    9605              :               break;
    9606              :             }
    9607         4290 :           case ADDR_EXPR:
    9608         4290 :             {
    9609         4290 :               {
    9610         4290 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9611         4290 :                 tree res = generic_simplify_306 (loc, type, _p0, _p1, captures, GT_EXPR);
    9612         4290 :                 if (res) return res;
    9613              :               }
    9614          722 :               break;
    9615              :             }
    9616              :           default:;
    9617              :           }
    9618              :         break;
    9619              :       }
    9620       366255 :     case CALL_EXPR:
    9621       366255 :       switch (get_call_combined_fn (_p0))
    9622              :         {
    9623            1 :         case CFN_BUILT_IN_SQRTF:
    9624            1 :           if (call_expr_nargs (_p0) == 1)
    9625              :     {
    9626            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9627            1 :               switch (TREE_CODE (_p1))
    9628              :                 {
    9629            1 :                 case REAL_CST:
    9630            1 :                   {
    9631            1 :                     {
    9632            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9633            1 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
    9634            1 :                       if (res) return res;
    9635              :                     }
    9636            0 :                     break;
    9637              :                   }
    9638            0 :                 case CALL_EXPR:
    9639            0 :                   switch (get_call_combined_fn (_p1))
    9640              :                     {
    9641            0 :                     case CFN_BUILT_IN_SQRTF:
    9642            0 :                       if (call_expr_nargs (_p1) == 1)
    9643              :     {
    9644            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9645            0 :                           {
    9646            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9647            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GT_EXPR);
    9648            0 :                             if (res) return res;
    9649              :                           }
    9650              :                         }
    9651              :                       break;
    9652              :                     default:;
    9653              :                     }
    9654              :                   break;
    9655              :                 default:;
    9656              :                 }
    9657              :             }
    9658              :           break;
    9659            0 :         case CFN_BUILT_IN_SQRTL:
    9660            0 :           if (call_expr_nargs (_p0) == 1)
    9661              :     {
    9662            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9663            0 :               switch (TREE_CODE (_p1))
    9664              :                 {
    9665            0 :                 case REAL_CST:
    9666            0 :                   {
    9667            0 :                     {
    9668            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9669            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
    9670            0 :                       if (res) return res;
    9671              :                     }
    9672            0 :                     break;
    9673              :                   }
    9674            0 :                 case CALL_EXPR:
    9675            0 :                   switch (get_call_combined_fn (_p1))
    9676              :                     {
    9677            0 :                     case CFN_BUILT_IN_SQRTL:
    9678            0 :                       if (call_expr_nargs (_p1) == 1)
    9679              :     {
    9680            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9681            0 :                           {
    9682            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9683            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GT_EXPR);
    9684            0 :                             if (res) return res;
    9685              :                           }
    9686              :                         }
    9687              :                       break;
    9688              :                     default:;
    9689              :                     }
    9690              :                   break;
    9691              :                 default:;
    9692              :                 }
    9693              :             }
    9694              :           break;
    9695            3 :         case CFN_BUILT_IN_SQRT:
    9696            3 :           if (call_expr_nargs (_p0) == 1)
    9697              :     {
    9698            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9699            3 :               switch (TREE_CODE (_p1))
    9700              :                 {
    9701            3 :                 case REAL_CST:
    9702            3 :                   {
    9703            3 :                     {
    9704            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9705            3 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
    9706            3 :                       if (res) return res;
    9707              :                     }
    9708            0 :                     break;
    9709              :                   }
    9710            0 :                 case CALL_EXPR:
    9711            0 :                   switch (get_call_combined_fn (_p1))
    9712              :                     {
    9713            0 :                     case CFN_BUILT_IN_SQRT:
    9714            0 :                       if (call_expr_nargs (_p1) == 1)
    9715              :     {
    9716            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9717            0 :                           {
    9718            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9719            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GT_EXPR);
    9720            0 :                             if (res) return res;
    9721              :                           }
    9722              :                         }
    9723              :                       break;
    9724              :                     default:;
    9725              :                     }
    9726              :                   break;
    9727              :                 default:;
    9728              :                 }
    9729              :             }
    9730              :           break;
    9731            0 :         case CFN_SQRT:
    9732            0 :           if (call_expr_nargs (_p0) == 1)
    9733              :     {
    9734            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9735            0 :               switch (TREE_CODE (_p1))
    9736              :                 {
    9737            0 :                 case REAL_CST:
    9738            0 :                   {
    9739            0 :                     {
    9740            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9741            0 :                       tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
    9742            0 :                       if (res) return res;
    9743              :                     }
    9744            0 :                     break;
    9745              :                   }
    9746            0 :                 case CALL_EXPR:
    9747            0 :                   switch (get_call_combined_fn (_p1))
    9748              :                     {
    9749            0 :                     case CFN_SQRT:
    9750            0 :                       if (call_expr_nargs (_p1) == 1)
    9751              :     {
    9752            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9753            0 :                           {
    9754            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9755            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, CFN_SQRT, GT_EXPR);
    9756            0 :                             if (res) return res;
    9757              :                           }
    9758              :                         }
    9759              :                       break;
    9760              :                     default:;
    9761              :                     }
    9762              :                   break;
    9763              :                 default:;
    9764              :                 }
    9765              :             }
    9766              :           break;
    9767              :         default:;
    9768              :         }
    9769              :       break;
    9770     17446646 :     default:;
    9771              :     }
    9772     17446646 :   if (uniform_integer_cst_p (_p1))
    9773              :     {
    9774     11730350 :       {
    9775     11730350 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9776     11730350 :         tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, GT_EXPR);
    9777     11730350 :         if (res) return res;
    9778              :       }
    9779              :     }
    9780     16407660 :   switch (TREE_CODE (_p0))
    9781              :     {
    9782      1151674 :     CASE_CONVERT:
    9783      1151674 :       {
    9784      1151674 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9785      1151674 :         switch (TREE_CODE (_q20))
    9786              :           {
    9787            1 :           case NE_EXPR:
    9788            1 :             {
    9789            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9790            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9791            1 :               if (tree_expr_nonnegative_p (_q30))
    9792              :                 {
    9793            1 :                   if (integer_zerop (_q31))
    9794              :                     {
    9795            1 :                       if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9796              :                         {
    9797            1 :                           {
    9798            1 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    9799            1 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1722;
    9800            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1722;
    9801            1 :                             {
    9802            1 :                               tree _r;
    9803            1 :                               _r =  constant_boolean_node (false, type);
    9804            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
    9805              :                               return _r;
    9806              :                             }
    9807     16407657 : next_after_fail1722:;
    9808              :                           }
    9809              :                         }
    9810              :                     }
    9811              :                 }
    9812              :               break;
    9813              :             }
    9814        47749 :           case PLUS_EXPR:
    9815        47749 :             {
    9816        47749 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9817        47749 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9818        47749 :               switch (TREE_CODE (_q30))
    9819              :                 {
    9820        30604 :                 CASE_CONVERT:
    9821        30604 :                   {
    9822        30604 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9823        30604 :                     switch (TREE_CODE (_q31))
    9824              :                       {
    9825        30600 :                       case INTEGER_CST:
    9826        30600 :                         {
    9827        30600 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    9828              :                             {
    9829            2 :                               {
    9830            2 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    9831            2 :                                 tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
    9832            2 :                                 if (res) return res;
    9833              :                               }
    9834              :                             }
    9835              :                           break;
    9836              :                         }
    9837              :                       default:;
    9838              :                       }
    9839              :                     break;
    9840              :                   }
    9841              :                 default:;
    9842              :                 }
    9843              :               break;
    9844              :             }
    9845              :           default:;
    9846              :           }
    9847              :         break;
    9848              :       }
    9849     16407657 :     default:;
    9850              :     }
    9851     16407657 :   switch (TREE_CODE (_p1))
    9852              :     {
    9853       656671 :     CASE_CONVERT:
    9854       656671 :       {
    9855       656671 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9856       656671 :         switch (TREE_CODE (_q30))
    9857              :           {
    9858         3399 :           case PLUS_EXPR:
    9859         3399 :             {
    9860         3399 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9861         3399 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9862         3399 :               switch (TREE_CODE (_q40))
    9863              :                 {
    9864         3343 :                 CASE_CONVERT:
    9865         3343 :                   {
    9866         3343 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9867         3343 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9868              :                       {
    9869            0 :                         switch (TREE_CODE (_q41))
    9870              :                           {
    9871            0 :                           case INTEGER_CST:
    9872            0 :                             {
    9873            0 :                               {
    9874            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    9875            0 :                                 tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    9876            0 :                                 if (res) return res;
    9877              :                               }
    9878            0 :                               break;
    9879              :                             }
    9880              :                           default:;
    9881              :                           }
    9882              :                       }
    9883              :                     break;
    9884              :                   }
    9885              :                 default:;
    9886              :                 }
    9887              :               break;
    9888              :             }
    9889              :           default:;
    9890              :           }
    9891              :         break;
    9892              :       }
    9893       111493 :     case PLUS_EXPR:
    9894       111493 :       {
    9895       111493 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9896       111493 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9897       111493 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9898              :           {
    9899            4 :             switch (TREE_CODE (_q31))
    9900              :               {
    9901            4 :               case INTEGER_CST:
    9902            4 :                 {
    9903            4 :                   {
    9904            4 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    9905            4 :                     tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
    9906            4 :                     if (res) return res;
    9907              :                   }
    9908            0 :                   break;
    9909              :                 }
    9910              :               default:;
    9911              :               }
    9912              :           }
    9913              :         break;
    9914              :       }
    9915     16407653 :     default:;
    9916              :     }
    9917     16407653 :   switch (TREE_CODE (_p0))
    9918              :     {
    9919       687263 :     case MINUS_EXPR:
    9920       687263 :       {
    9921       687263 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9922       687263 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9923       687263 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9924              :           {
    9925         7293 :             {
    9926         7293 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9927         7293 :               tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, GT_EXPR);
    9928         7293 :               if (res) return res;
    9929              :             }
    9930              :           }
    9931              :         break;
    9932              :       }
    9933     16400372 :     default:;
    9934              :     }
    9935     16400372 :   switch (TREE_CODE (_p1))
    9936              :     {
    9937       111489 :     case PLUS_EXPR:
    9938       111489 :       {
    9939       111489 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9940       111489 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9941       111489 :         switch (TREE_CODE (_q30))
    9942              :           {
    9943            3 :           case MINUS_EXPR:
    9944            3 :             {
    9945            3 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9946            3 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9947            3 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9948              :                 {
    9949            0 :                   if (integer_minus_onep (_q31))
    9950              :                     {
    9951            0 :                       {
    9952            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
    9953            0 :                         tree res = generic_simplify_434 (loc, type, _p0, _p1, captures, LT_EXPR);
    9954            0 :                         if (res) return res;
    9955              :                       }
    9956              :                     }
    9957              :                 }
    9958              :               break;
    9959              :             }
    9960              :           default:;
    9961              :           }
    9962              :         break;
    9963              :       }
    9964     16400372 :     default:;
    9965              :     }
    9966     16400372 :   switch (TREE_CODE (_p0))
    9967              :     {
    9968           83 :     case REALPART_EXPR:
    9969           83 :       {
    9970           83 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9971           83 :         switch (TREE_CODE (_q20))
    9972              :           {
    9973            0 :           case CALL_EXPR:
    9974            0 :             switch (get_call_combined_fn (_q20))
    9975              :               {
    9976            0 :               case CFN_SUB_OVERFLOW:
    9977            0 :                 if (call_expr_nargs (_q20) == 2)
    9978              :     {
    9979            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9980            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    9981            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9982              :                       {
    9983            0 :                         {
    9984            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    9985            0 :                           tree res = generic_simplify_435 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
    9986            0 :                           if (res) return res;
    9987              :                         }
    9988              :                       }
    9989              :                   }
    9990              :                 break;
    9991              :               default:;
    9992              :               }
    9993              :             break;
    9994              :           default:;
    9995              :           }
    9996              :         break;
    9997              :       }
    9998     16400372 :     default:;
    9999              :     }
   10000     16400372 :   switch (TREE_CODE (_p1))
   10001              :     {
   10002           20 :     case REALPART_EXPR:
   10003           20 :       {
   10004           20 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10005           20 :         switch (TREE_CODE (_q30))
   10006              :           {
   10007            0 :           case CALL_EXPR:
   10008            0 :             switch (get_call_combined_fn (_q30))
   10009              :               {
   10010            0 :               case CFN_ADD_OVERFLOW:
   10011            0 :                 if (call_expr_nargs (_q30) == 2)
   10012              :     {
   10013            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   10014            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   10015            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10016              :                       {
   10017            0 :                         {
   10018            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
   10019            0 :                           tree res = generic_simplify_436 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   10020            0 :                           if (res) return res;
   10021              :                         }
   10022              :                       }
   10023            0 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
   10024              :                       {
   10025            0 :                         {
   10026            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
   10027            0 :                           tree res = generic_simplify_436 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   10028            0 :                           if (res) return res;
   10029              :                         }
   10030              :                       }
   10031              :                   }
   10032              :                 break;
   10033              :               default:;
   10034              :               }
   10035              :             break;
   10036              :           default:;
   10037              :           }
   10038              :         break;
   10039              :       }
   10040         1025 :     case TRUNC_DIV_EXPR:
   10041         1025 :       {
   10042         1025 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10043         1025 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10044         1025 :         if (integer_all_onesp (_q30))
   10045              :           {
   10046            0 :             {
   10047            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
   10048            0 :               tree res = generic_simplify_437 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
   10049            0 :               if (res) return res;
   10050              :             }
   10051              :           }
   10052              :         break;
   10053              :       }
   10054     16400372 :     default:;
   10055              :     }
   10056     16400372 :   switch (TREE_CODE (_p0))
   10057              :     {
   10058       225668 :     case MULT_EXPR:
   10059       225668 :       {
   10060       225668 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10061       225668 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10062       225668 :         switch (TREE_CODE (_q20))
   10063              :           {
   10064         3432 :           CASE_CONVERT:
   10065         3432 :             {
   10066         3432 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10067         3432 :               switch (TREE_CODE (_q21))
   10068              :                 {
   10069           46 :                 CASE_CONVERT:
   10070           46 :                   {
   10071           46 :                     tree _q50 = TREE_OPERAND (_q21, 0);
   10072           46 :                     switch (TREE_CODE (_p1))
   10073              :                       {
   10074           46 :                       case INTEGER_CST:
   10075           46 :                         {
   10076           46 :                           {
   10077           46 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _p1 };
   10078           46 :                             tree res = generic_simplify_438 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
   10079           46 :                             if (res) return res;
   10080              :                           }
   10081           15 :                           break;
   10082              :                         }
   10083              :                       default:;
   10084              :                       }
   10085              :                     break;
   10086              :                   }
   10087              :                 default:;
   10088              :                 }
   10089              :               break;
   10090              :             }
   10091       225637 :           default:;
   10092              :           }
   10093       225637 :         switch (TREE_CODE (_q21))
   10094              :           {
   10095        23339 :           case REAL_CST:
   10096        23339 :             {
   10097        23339 :               switch (TREE_CODE (_p1))
   10098              :                 {
   10099           58 :                 case REAL_CST:
   10100           58 :                   {
   10101           58 :                     {
   10102           58 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10103           58 :                       tree res = generic_simplify_426 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   10104           58 :                       if (res) return res;
   10105              :                     }
   10106           57 :                     break;
   10107              :                   }
   10108              :                 default:;
   10109              :                 }
   10110              :               break;
   10111              :             }
   10112              :           default:;
   10113              :           }
   10114              :         break;
   10115              :       }
   10116      2034104 :     case PLUS_EXPR:
   10117      2034104 :       {
   10118      2034104 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10119      2034104 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10120      2034104 :         switch (TREE_CODE (_q21))
   10121              :           {
   10122      1832801 :           case INTEGER_CST:
   10123      1832801 :             {
   10124      1832801 :               switch (TREE_CODE (_p1))
   10125              :                 {
   10126      1271189 :                 case INTEGER_CST:
   10127      1271189 :                   {
   10128      1271189 :                     {
   10129      1271189 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10130      1271189 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GT_EXPR, LT_EXPR);
   10131      1271189 :                       if (res) return res;
   10132              :                     }
   10133       836992 :                     break;
   10134              :                   }
   10135              :                 default:;
   10136              :                 }
   10137              :               break;
   10138              :             }
   10139              :           default:;
   10140              :           }
   10141              :         break;
   10142              :       }
   10143       679982 :     case MINUS_EXPR:
   10144       679982 :       {
   10145       679982 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10146       679982 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10147       679982 :         switch (TREE_CODE (_q21))
   10148              :           {
   10149         2198 :           case INTEGER_CST:
   10150         2198 :             {
   10151         2198 :               switch (TREE_CODE (_p1))
   10152              :                 {
   10153         2050 :                 case INTEGER_CST:
   10154         2050 :                   {
   10155         2050 :                     {
   10156         2050 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10157         2050 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GT_EXPR, LT_EXPR);
   10158         2050 :                       if (res) return res;
   10159              :                     }
   10160         1925 :                     break;
   10161              :                   }
   10162              :                 default:;
   10163              :                 }
   10164              :               break;
   10165              :             }
   10166       679857 :           default:;
   10167              :           }
   10168       679857 :         switch (TREE_CODE (_q20))
   10169              :           {
   10170       580530 :           case INTEGER_CST:
   10171       580530 :             {
   10172       580530 :               switch (TREE_CODE (_p1))
   10173              :                 {
   10174       577730 :                 case INTEGER_CST:
   10175       577730 :                   {
   10176       577730 :                     {
   10177       577730 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10178       577730 :                       tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
   10179       577730 :                       if (res) return res;
   10180              :                     }
   10181            0 :                     break;
   10182              :                   }
   10183              :                 default:;
   10184              :                 }
   10185              :               break;
   10186              :             }
   10187              :           default:;
   10188              :           }
   10189              :         break;
   10190              :       }
   10191       336432 :     case CALL_EXPR:
   10192       336432 :       switch (get_call_combined_fn (_p0))
   10193              :         {
   10194            4 :         case CFN_BUILT_IN_CTZ:
   10195            4 :           if (call_expr_nargs (_p0) == 1)
   10196              :     {
   10197            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10198            4 :               switch (TREE_CODE (_p1))
   10199              :                 {
   10200            4 :                 case INTEGER_CST:
   10201            4 :                   {
   10202            4 :                     {
   10203            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10204            4 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
   10205            4 :                       if (res) return res;
   10206              :                     }
   10207            0 :                     break;
   10208              :                   }
   10209              :                 default:;
   10210              :                 }
   10211              :             }
   10212              :           break;
   10213           12 :         case CFN_BUILT_IN_FFS:
   10214           12 :           if (call_expr_nargs (_p0) == 1)
   10215              :     {
   10216           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10217           12 :               switch (TREE_CODE (_p1))
   10218              :                 {
   10219           12 :                 case INTEGER_CST:
   10220           12 :                   {
   10221           12 :                     {
   10222           12 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10223           12 :                       tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFS);
   10224           12 :                       if (res) return res;
   10225              :                     }
   10226            6 :                     break;
   10227              :                   }
   10228              :                 default:;
   10229              :                 }
   10230              :             }
   10231              :           break;
   10232            0 :         case CFN_BUILT_IN_FFSIMAX:
   10233            0 :           if (call_expr_nargs (_p0) == 1)
   10234              :     {
   10235            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10236            0 :               switch (TREE_CODE (_p1))
   10237              :                 {
   10238            0 :                 case INTEGER_CST:
   10239            0 :                   {
   10240            0 :                     {
   10241            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10242            0 :                       tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSIMAX);
   10243            0 :                       if (res) return res;
   10244              :                     }
   10245            0 :                     break;
   10246              :                   }
   10247              :                 default:;
   10248              :                 }
   10249              :             }
   10250              :           break;
   10251           75 :         case CFN_BUILT_IN_POPCOUNT:
   10252           75 :           if (call_expr_nargs (_p0) == 1)
   10253              :     {
   10254           75 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10255           75 :               if (integer_zerop (_p1))
   10256              :                 {
   10257           36 :                   {
   10258           36 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10259           36 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT);
   10260           36 :                     if (res) return res;
   10261              :                   }
   10262              :                 }
   10263              :             }
   10264              :           break;
   10265            2 :         case CFN_BUILT_IN_CTZL:
   10266            2 :           if (call_expr_nargs (_p0) == 1)
   10267              :     {
   10268            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10269            2 :               switch (TREE_CODE (_p1))
   10270              :                 {
   10271            2 :                 case INTEGER_CST:
   10272            2 :                   {
   10273            2 :                     {
   10274            2 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10275            2 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
   10276            2 :                       if (res) return res;
   10277              :                     }
   10278            0 :                     break;
   10279              :                   }
   10280              :                 default:;
   10281              :                 }
   10282              :             }
   10283              :           break;
   10284            8 :         case CFN_BUILT_IN_FFSL:
   10285            8 :           if (call_expr_nargs (_p0) == 1)
   10286              :     {
   10287            8 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10288            8 :               switch (TREE_CODE (_p1))
   10289              :                 {
   10290            8 :                 case INTEGER_CST:
   10291            8 :                   {
   10292            8 :                     {
   10293            8 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10294            8 :                       tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSL);
   10295            8 :                       if (res) return res;
   10296              :                     }
   10297            4 :                     break;
   10298              :                   }
   10299              :                 default:;
   10300              :                 }
   10301              :             }
   10302              :           break;
   10303            3 :         case CFN_BUILT_IN_POPCOUNTLL:
   10304            3 :           if (call_expr_nargs (_p0) == 1)
   10305              :     {
   10306            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10307            3 :               if (integer_zerop (_p1))
   10308              :                 {
   10309            0 :                   {
   10310            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10311            0 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10312            0 :                     if (res) return res;
   10313              :                   }
   10314              :                 }
   10315              :             }
   10316              :           break;
   10317            0 :         case CFN_BUILT_IN_CTZIMAX:
   10318            0 :           if (call_expr_nargs (_p0) == 1)
   10319              :     {
   10320            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10321            0 :               switch (TREE_CODE (_p1))
   10322              :                 {
   10323            0 :                 case INTEGER_CST:
   10324            0 :                   {
   10325            0 :                     {
   10326            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10327            0 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   10328            0 :                       if (res) return res;
   10329              :                     }
   10330            0 :                     break;
   10331              :                   }
   10332              :                 default:;
   10333              :                 }
   10334              :             }
   10335              :           break;
   10336            0 :         case CFN_POPCOUNT:
   10337            0 :           if (call_expr_nargs (_p0) == 1)
   10338              :     {
   10339            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10340            0 :               if (integer_zerop (_p1))
   10341              :                 {
   10342            0 :                   {
   10343            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10344            0 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_POPCOUNT);
   10345            0 :                     if (res) return res;
   10346              :                   }
   10347              :                 }
   10348              :             }
   10349              :           break;
   10350            0 :         case CFN_CTZ:
   10351            0 :           if (call_expr_nargs (_p0) == 2)
   10352              :     {
   10353            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10354            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10355            0 :               switch (TREE_CODE (_p1))
   10356              :                 {
   10357            0 :                 case INTEGER_CST:
   10358            0 :                   {
   10359            0 :                     {
   10360            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10361            0 :                       tree res = generic_simplify_429 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
   10362            0 :                       if (res) return res;
   10363              :                     }
   10364            0 :                     break;
   10365              :                   }
   10366              :                 default:;
   10367              :                 }
   10368              :             }
   10369            0 :           if (call_expr_nargs (_p0) == 1)
   10370              :     {
   10371            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10372            0 :               switch (TREE_CODE (_p1))
   10373              :                 {
   10374            0 :                 case INTEGER_CST:
   10375            0 :                   {
   10376            0 :                     {
   10377            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10378            0 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_CTZ);
   10379            0 :                       if (res) return res;
   10380              :                     }
   10381            0 :                     break;
   10382              :                   }
   10383              :                 default:;
   10384              :                 }
   10385              :             }
   10386              :           break;
   10387            0 :         case CFN_FFS:
   10388            0 :           if (call_expr_nargs (_p0) == 1)
   10389              :     {
   10390            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10391            0 :               switch (TREE_CODE (_p1))
   10392              :                 {
   10393            0 :                 case INTEGER_CST:
   10394            0 :                   {
   10395            0 :                     {
   10396            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10397            0 :                       tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_FFS);
   10398            0 :                       if (res) return res;
   10399              :                     }
   10400            0 :                     break;
   10401              :                   }
   10402              :                 default:;
   10403              :                 }
   10404              :             }
   10405              :           break;
   10406            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   10407            0 :           if (call_expr_nargs (_p0) == 1)
   10408              :     {
   10409            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10410            0 :               if (integer_zerop (_p1))
   10411              :                 {
   10412            0 :                   {
   10413            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10414            0 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10415            0 :                     if (res) return res;
   10416              :                   }
   10417              :                 }
   10418              :             }
   10419              :           break;
   10420            3 :         case CFN_BUILT_IN_POPCOUNTL:
   10421            3 :           if (call_expr_nargs (_p0) == 1)
   10422              :     {
   10423            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10424            3 :               if (integer_zerop (_p1))
   10425              :                 {
   10426            0 :                   {
   10427            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10428            0 :                     tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10429            0 :                     if (res) return res;
   10430              :                   }
   10431              :                 }
   10432              :             }
   10433              :           break;
   10434           18 :         case CFN_BUILT_IN_CTZLL:
   10435           18 :           if (call_expr_nargs (_p0) == 1)
   10436              :     {
   10437           18 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10438           18 :               switch (TREE_CODE (_p1))
   10439              :                 {
   10440           18 :                 case INTEGER_CST:
   10441           18 :                   {
   10442           18 :                     {
   10443           18 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10444           18 :                       tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10445           18 :                       if (res) return res;
   10446              :                     }
   10447           16 :                     break;
   10448              :                   }
   10449              :                 default:;
   10450              :                 }
   10451              :             }
   10452              :           break;
   10453            9 :         case CFN_BUILT_IN_FFSLL:
   10454            9 :           if (call_expr_nargs (_p0) == 1)
   10455              :     {
   10456            9 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10457            9 :               switch (TREE_CODE (_p1))
   10458              :                 {
   10459            9 :                 case INTEGER_CST:
   10460            9 :                   {
   10461            9 :                     {
   10462            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10463            9 :                       tree res = generic_simplify_441 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSLL);
   10464            9 :                       if (res) return res;
   10465              :                     }
   10466            4 :                     break;
   10467              :                   }
   10468              :                 default:;
   10469              :                 }
   10470              :             }
   10471              :           break;
   10472              :         default:;
   10473              :         }
   10474              :       break;
   10475              :     default:;
   10476              :     }
   10477              :   return NULL_TREE;
   10478              : }
   10479              : 
   10480              : tree
   10481     10876544 : generic_simplify_TRUTH_AND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10482              : {
   10483     10876544 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10484     10876544 :   switch (TREE_CODE (_p0))
   10485              :     {
   10486       986138 :     case GE_EXPR:
   10487       986138 :       {
   10488       986138 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10489       986138 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10490       986138 :         {
   10491       986138 :           tree _q20_pops[1];
   10492       986138 :           if (tree_nop_convert (_q20, _q20_pops))
   10493              :             {
   10494        12641 :               tree _q30 = _q20_pops[0];
   10495        12641 :               if (integer_zerop (_q21))
   10496              :                 {
   10497         5533 :                   switch (TREE_CODE (_p1))
   10498              :                     {
   10499          581 :                     case NE_EXPR:
   10500          581 :                       {
   10501          581 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   10502          581 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   10503          581 :                         switch (TREE_CODE (_q60))
   10504              :                           {
   10505            0 :                           case BIT_AND_EXPR:
   10506            0 :                             {
   10507            0 :                               tree _q70 = TREE_OPERAND (_q60, 0);
   10508            0 :                               tree _q71 = TREE_OPERAND (_q60, 1);
   10509            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10510              :                                 {
   10511            0 :                                   switch (TREE_CODE (_q71))
   10512              :                                     {
   10513            0 :                                     case INTEGER_CST:
   10514            0 :                                       {
   10515            0 :                                         if (integer_zerop (_q61))
   10516              :                                           {
   10517            0 :                                             {
   10518            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q71 };
   10519            0 :                                               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   10520            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   10521            0 :  && wi::eq_p (wi::to_wide (captures[2]),
   10522            0 :  wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), SIGNED))
   10523              : )
   10524              :                                                 {
   10525            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1812;
   10526            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1812;
   10527            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1812;
   10528            0 :                                                   {
   10529            0 :                                                     tree res_op0;
   10530            0 :                                                     res_op0 = captures[0];
   10531            0 :                                                     tree res_op1;
   10532            0 :                                                     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
   10533            0 :                                                     tree _r;
   10534            0 :                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10535            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10536            0 :                                                     return _r;
   10537              :                                                   }
   10538       986138 : next_after_fail1812:;
   10539              :                                                 }
   10540              :                                             }
   10541              :                                           }
   10542              :                                         break;
   10543              :                                       }
   10544              :                                     default:;
   10545              :                                     }
   10546              :                                 }
   10547              :                               break;
   10548              :                             }
   10549              :                           default:;
   10550              :                           }
   10551              :                         break;
   10552              :                       }
   10553              :                     default:;
   10554              :                     }
   10555              :                 }
   10556              :             }
   10557              :         }
   10558       986138 :         if (integer_zerop (_q21))
   10559              :           {
   10560       356340 :             switch (TREE_CODE (_p1))
   10561              :               {
   10562        35715 :               case NE_EXPR:
   10563        35715 :                 {
   10564        35715 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10565        35715 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10566        35715 :                   switch (TREE_CODE (_q50))
   10567              :                     {
   10568            7 :                     case BIT_AND_EXPR:
   10569            7 :                       {
   10570            7 :                         tree _q60 = TREE_OPERAND (_q50, 0);
   10571            7 :                         tree _q61 = TREE_OPERAND (_q50, 1);
   10572            7 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10573              :                           {
   10574            0 :                             switch (TREE_CODE (_q61))
   10575              :                               {
   10576            0 :                               case INTEGER_CST:
   10577            0 :                                 {
   10578            0 :                                   if (integer_zerop (_q51))
   10579              :                                     {
   10580            0 :                                       {
   10581            0 :                                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q61 };
   10582            0 :                                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   10583            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   10584            0 :  && wi::eq_p (wi::to_wide (captures[2]),
   10585            0 :  wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), SIGNED))
   10586              : )
   10587              :                                           {
   10588            0 :                                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1813;
   10589            0 :                                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1813;
   10590            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1813;
   10591            0 :                                             {
   10592            0 :                                               tree res_op0;
   10593            0 :                                               res_op0 = captures[0];
   10594            0 :                                               tree res_op1;
   10595            0 :                                               res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
   10596            0 :                                               tree _r;
   10597            0 :                                               _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10598            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10599              :                                               return _r;
   10600              :                                             }
   10601     10876544 : next_after_fail1813:;
   10602              :                                           }
   10603              :                                       }
   10604              :                                     }
   10605              :                                   break;
   10606              :                                 }
   10607              :                               default:;
   10608              :                               }
   10609              :                           }
   10610              :                         break;
   10611              :                       }
   10612              :                     default:;
   10613              :                     }
   10614              :                   break;
   10615              :                 }
   10616              :               default:;
   10617              :               }
   10618              :           }
   10619              :         break;
   10620              :       }
   10621      2470750 :     case NE_EXPR:
   10622      2470750 :       {
   10623      2470750 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10624      2470750 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10625      2470750 :         switch (TREE_CODE (_q20))
   10626              :           {
   10627          890 :           case BIT_AND_EXPR:
   10628          890 :             {
   10629          890 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10630          890 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10631          890 :               switch (TREE_CODE (_q31))
   10632              :                 {
   10633          890 :                 case INTEGER_CST:
   10634          890 :                   {
   10635          890 :                     if (integer_zerop (_q21))
   10636              :                       {
   10637          890 :                         switch (TREE_CODE (_p1))
   10638              :                           {
   10639            0 :                           case GE_EXPR:
   10640            0 :                             {
   10641            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   10642            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   10643            0 :                               {
   10644            0 :                                 tree _q70_pops[1];
   10645            0 :                                 if (tree_nop_convert (_q70, _q70_pops))
   10646              :                                   {
   10647            0 :                                     tree _q80 = _q70_pops[0];
   10648            0 :                                     if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
   10649              :                                       {
   10650            0 :                                         if (integer_zerop (_q71))
   10651              :                                           {
   10652            0 :                                             {
   10653            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _q70, _q30, _q31 };
   10654            0 :                                               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   10655            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   10656            0 :  && wi::eq_p (wi::to_wide (captures[2]),
   10657            0 :  wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), SIGNED))
   10658              : )
   10659              :                                                 {
   10660            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1814;
   10661            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1814;
   10662            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1814;
   10663            0 :                                                   {
   10664            0 :                                                     tree res_op0;
   10665            0 :                                                     res_op0 = captures[0];
   10666            0 :                                                     tree res_op1;
   10667            0 :                                                     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
   10668            0 :                                                     tree _r;
   10669            0 :                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10670            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10671            0 :                                                     return _r;
   10672              :                                                   }
   10673            0 : next_after_fail1814:;
   10674              :                                                 }
   10675              :                                             }
   10676              :                                           }
   10677              :                                       }
   10678              :                                   }
   10679              :                               }
   10680            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10681              :                                 {
   10682            0 :                                   if (integer_zerop (_q71))
   10683              :                                     {
   10684            0 :                                       {
   10685            0 :                                         tree captures[3] ATTRIBUTE_UNUSED = { _q70, _q30, _q31 };
   10686            0 :                                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   10687            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   10688            0 :  && wi::eq_p (wi::to_wide (captures[2]),
   10689            0 :  wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), SIGNED))
   10690              : )
   10691              :                                           {
   10692            0 :                                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1815;
   10693            0 :                                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1815;
   10694            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1815;
   10695            0 :                                             {
   10696            0 :                                               tree res_op0;
   10697            0 :                                               res_op0 = captures[0];
   10698            0 :                                               tree res_op1;
   10699            0 :                                               res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
   10700            0 :                                               tree _r;
   10701            0 :                                               _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10702            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10703              :                                               return _r;
   10704              :                                             }
   10705     10876544 : next_after_fail1815:;
   10706              :                                           }
   10707              :                                       }
   10708              :                                     }
   10709              :                                 }
   10710              :                               break;
   10711              :                             }
   10712              :                           default:;
   10713              :                           }
   10714              :                       }
   10715              :                     break;
   10716              :                   }
   10717              :                 default:;
   10718              :                 }
   10719              :               break;
   10720              :             }
   10721              :           default:;
   10722              :           }
   10723              :         break;
   10724              :       }
   10725              :     default:;
   10726              :     }
   10727              :   return NULL_TREE;
   10728              : }
   10729              : 
   10730              : tree
   10731      9534528 : generic_simplify_TRUTH_OR_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10732              : {
   10733      9534528 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10734      9534528 :   switch (TREE_CODE (_p0))
   10735              :     {
   10736      1079553 :     case LT_EXPR:
   10737      1079553 :       {
   10738      1079553 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10739      1079553 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10740      1079553 :         {
   10741      1079553 :           tree _q20_pops[1];
   10742      1079553 :           if (tree_nop_convert (_q20, _q20_pops))
   10743              :             {
   10744        15371 :               tree _q30 = _q20_pops[0];
   10745        15371 :               if (integer_zerop (_q21))
   10746              :                 {
   10747         5134 :                   switch (TREE_CODE (_p1))
   10748              :                     {
   10749          599 :                     case EQ_EXPR:
   10750          599 :                       {
   10751          599 :                         tree _q60 = TREE_OPERAND (_p1, 0);
   10752          599 :                         tree _q61 = TREE_OPERAND (_p1, 1);
   10753          599 :                         switch (TREE_CODE (_q60))
   10754              :                           {
   10755          331 :                           case BIT_AND_EXPR:
   10756          331 :                             {
   10757          331 :                               tree _q70 = TREE_OPERAND (_q60, 0);
   10758          331 :                               tree _q71 = TREE_OPERAND (_q60, 1);
   10759          331 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10760              :                                 {
   10761            0 :                                   switch (TREE_CODE (_q71))
   10762              :                                     {
   10763            0 :                                     case INTEGER_CST:
   10764            0 :                                       {
   10765            0 :                                         if (integer_zerop (_q61))
   10766              :                                           {
   10767            0 :                                             {
   10768            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q71 };
   10769            0 :                                               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   10770            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   10771            0 :  && wi::eq_p (wi::to_wide (captures[2]),
   10772            0 :  wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), SIGNED))
   10773              : )
   10774              :                                                 {
   10775            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1816;
   10776            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1816;
   10777            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1816;
   10778            0 :                                                   {
   10779            0 :                                                     tree res_op0;
   10780            0 :                                                     res_op0 = captures[0];
   10781            0 :                                                     tree res_op1;
   10782            0 :                                                     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
   10783            0 :                                                     tree _r;
   10784            0 :                                                     _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
   10785            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10786            0 :                                                     return _r;
   10787              :                                                   }
   10788      1079553 : next_after_fail1816:;
   10789              :                                                 }
   10790              :                                             }
   10791              :                                           }
   10792              :                                         break;
   10793              :                                       }
   10794              :                                     default:;
   10795              :                                     }
   10796              :                                 }
   10797              :                               break;
   10798              :                             }
   10799              :                           default:;
   10800              :                           }
   10801              :                         break;
   10802              :                       }
   10803              :                     default:;
   10804              :                     }
   10805              :                 }
   10806              :             }
   10807              :         }
   10808      1079553 :         if (integer_zerop (_q21))
   10809              :           {
   10810       330209 :             switch (TREE_CODE (_p1))
   10811              :               {
   10812       129672 :               case EQ_EXPR:
   10813       129672 :                 {
   10814       129672 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   10815       129672 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   10816       129672 :                   switch (TREE_CODE (_q50))
   10817              :                     {
   10818       110438 :                     case BIT_AND_EXPR:
   10819       110438 :                       {
   10820       110438 :                         tree _q60 = TREE_OPERAND (_q50, 0);
   10821       110438 :                         tree _q61 = TREE_OPERAND (_q50, 1);
   10822       110438 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10823              :                           {
   10824            0 :                             switch (TREE_CODE (_q61))
   10825              :                               {
   10826            0 :                               case INTEGER_CST:
   10827            0 :                                 {
   10828            0 :                                   if (integer_zerop (_q51))
   10829              :                                     {
   10830            0 :                                       {
   10831            0 :                                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q61 };
   10832            0 :                                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   10833            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   10834            0 :  && wi::eq_p (wi::to_wide (captures[2]),
   10835            0 :  wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), SIGNED))
   10836              : )
   10837              :                                           {
   10838            0 :                                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1817;
   10839            0 :                                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1817;
   10840            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1817;
   10841            0 :                                             {
   10842            0 :                                               tree res_op0;
   10843            0 :                                               res_op0 = captures[0];
   10844            0 :                                               tree res_op1;
   10845            0 :                                               res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
   10846            0 :                                               tree _r;
   10847            0 :                                               _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
   10848            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   10849              :                                               return _r;
   10850              :                                             }
   10851      1079553 : next_after_fail1817:;
   10852              :                                           }
   10853              :                                       }
   10854              :                                     }
   10855              :                                   break;
   10856              :                                 }
   10857              :                               default:;
   10858              :                               }
   10859              :                           }
   10860              :                         break;
   10861              :                       }
   10862              :                     default:;
   10863              :                     }
   10864              :                   break;
   10865              :                 }
   10866              :               default:;
   10867              :               }
   10868              :           }
   10869      1079553 :         switch (TREE_CODE (_q20))
   10870              :           {
   10871         2339 :           case POINTER_PLUS_EXPR:
   10872         2339 :             {
   10873         2339 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10874         2339 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10875         2339 :               switch (TREE_CODE (_q31))
   10876              :                 {
   10877         2155 :                 case INTEGER_CST:
   10878         2155 :                   {
   10879         2155 :                     switch (TREE_CODE (_p1))
   10880              :                       {
   10881          144 :                       case LT_EXPR:
   10882          144 :                         {
   10883          144 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   10884          144 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   10885          144 :                           switch (TREE_CODE (_q70))
   10886              :                             {
   10887           10 :                             case POINTER_PLUS_EXPR:
   10888           10 :                               {
   10889           10 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   10890           10 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   10891           10 :                                 if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   10892              :                                   {
   10893            1 :                                     if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   10894              :                                       {
   10895            1 :                                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10896              :                                           {
   10897            1 :                                             {
   10898            1 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
   10899            1 :                                               const enum tree_code cmp = LT_EXPR;
   10900            1 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   10901            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   10902            1 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   10903              : )
   10904              :                                                 {
   10905            0 :                                                   {
   10906            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   10907            0 :  offset_int rhs = off * 2;
   10908            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   10909              : )
   10910              :                                                         {
   10911            0 :                                                           {
   10912            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   10913            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   10914            0 :                                                               if (cmp == LT_EXPR
   10915              : )
   10916              :                                                                 {
   10917            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1818;
   10918            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1818;
   10919            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1818;
   10920            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1818;
   10921            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1818;
   10922            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1818;
   10923            0 :                                                                   {
   10924            0 :                                                                     tree res_op0;
   10925            0 :                                                                     {
   10926            0 :                                                                       tree _o1[1], _r1;
   10927            0 :                                                                       {
   10928            0 :                                                                         tree _o2[2], _r2;
   10929            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   10930            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   10931            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   10932            0 :                                                                         _o1[0] = _r2;
   10933              :                                                                       }
   10934            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   10935              :                                                                         {
   10936            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   10937              :                                                                         }
   10938              :                                                                       else
   10939              :                                                                         _r1 = _o1[0];
   10940            0 :                                                                       res_op0 = _r1;
   10941              :                                                                     }
   10942            0 :                                                                     tree res_op1;
   10943            0 :                                                                     res_op1 =  rhs_tree;
   10944            0 :                                                                     tree _r;
   10945            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10946            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   10947            0 :                                                                     return _r;
   10948              :                                                                   }
   10949            0 : next_after_fail1818:;
   10950              :                                                                 }
   10951              :                                                               else
   10952              :                                                                 {
   10953              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1819;
   10954              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1819;
   10955              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1819;
   10956              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1819;
   10957              :                                                                   {
   10958              :                                                                     tree res_op0;
   10959              :                                                                     {
   10960              :                                                                       tree _o1[1], _r1;
   10961              :                                                                       {
   10962              :                                                                         tree _o2[2], _r2;
   10963              :                                                                         {
   10964              :                                                                           tree _o3[2], _r3;
   10965              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   10966              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   10967              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   10968              :                                                                           _o2[0] = _r3;
   10969              :                                                                         }
   10970              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   10971              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   10972              :                                                                         _o1[0] = _r2;
   10973              :                                                                       }
   10974              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   10975              :                                                                         {
   10976              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   10977              :                                                                         }
   10978              :                                                                       else
   10979              :                                                                         _r1 = _o1[0];
   10980              :                                                                       res_op0 = _r1;
   10981              :                                                                     }
   10982              :                                                                     tree res_op1;
   10983              :                                                                     res_op1 =  rhs_tree;
   10984              :                                                                     tree _r;
   10985              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   10986              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   10987              :                                                                     return _r;
   10988              :                                                                   }
   10989              : next_after_fail1819:;
   10990              :                                                                 }
   10991              :                                                           }
   10992              :                                                         }
   10993              :                                                   }
   10994              :                                                 }
   10995              :                                             }
   10996              :                                           }
   10997              :                                       }
   10998              :                                   }
   10999              :                                 break;
   11000              :                               }
   11001              :                             default:;
   11002              :                             }
   11003              :                           break;
   11004              :                         }
   11005          804 :                       case GT_EXPR:
   11006          804 :                         {
   11007          804 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11008          804 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11009          804 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11010              :                             {
   11011            0 :                               switch (TREE_CODE (_q71))
   11012              :                                 {
   11013            0 :                                 case POINTER_PLUS_EXPR:
   11014            0 :                                   {
   11015            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11016            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11017            0 :                                     if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
   11018              :                                       {
   11019            0 :                                         if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   11020              :                                           {
   11021            0 :                                             {
   11022            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
   11023            0 :                                               const enum tree_code cmp = LT_EXPR;
   11024            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11025            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11026            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11027              : )
   11028              :                                                 {
   11029            0 :                                                   {
   11030            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11031            0 :  offset_int rhs = off * 2;
   11032            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11033              : )
   11034              :                                                         {
   11035            0 :                                                           {
   11036            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11037            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11038            0 :                                                               if (cmp == LT_EXPR
   11039              : )
   11040              :                                                                 {
   11041            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1820;
   11042            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1820;
   11043            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1820;
   11044            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1820;
   11045            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1820;
   11046            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1820;
   11047            0 :                                                                   {
   11048            0 :                                                                     tree res_op0;
   11049            0 :                                                                     {
   11050            0 :                                                                       tree _o1[1], _r1;
   11051            0 :                                                                       {
   11052            0 :                                                                         tree _o2[2], _r2;
   11053            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11054            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11055            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11056            0 :                                                                         _o1[0] = _r2;
   11057              :                                                                       }
   11058            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11059              :                                                                         {
   11060            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11061              :                                                                         }
   11062              :                                                                       else
   11063              :                                                                         _r1 = _o1[0];
   11064            0 :                                                                       res_op0 = _r1;
   11065              :                                                                     }
   11066            0 :                                                                     tree res_op1;
   11067            0 :                                                                     res_op1 =  rhs_tree;
   11068            0 :                                                                     tree _r;
   11069            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11070            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   11071            0 :                                                                     return _r;
   11072              :                                                                   }
   11073            0 : next_after_fail1820:;
   11074              :                                                                 }
   11075              :                                                               else
   11076              :                                                                 {
   11077              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1821;
   11078              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1821;
   11079              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1821;
   11080              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1821;
   11081              :                                                                   {
   11082              :                                                                     tree res_op0;
   11083              :                                                                     {
   11084              :                                                                       tree _o1[1], _r1;
   11085              :                                                                       {
   11086              :                                                                         tree _o2[2], _r2;
   11087              :                                                                         {
   11088              :                                                                           tree _o3[2], _r3;
   11089              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11090              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11091              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11092              :                                                                           _o2[0] = _r3;
   11093              :                                                                         }
   11094              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11095              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11096              :                                                                         _o1[0] = _r2;
   11097              :                                                                       }
   11098              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11099              :                                                                         {
   11100              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11101              :                                                                         }
   11102              :                                                                       else
   11103              :                                                                         _r1 = _o1[0];
   11104              :                                                                       res_op0 = _r1;
   11105              :                                                                     }
   11106              :                                                                     tree res_op1;
   11107              :                                                                     res_op1 =  rhs_tree;
   11108              :                                                                     tree _r;
   11109              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11110              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   11111              :                                                                     return _r;
   11112              :                                                                   }
   11113              : next_after_fail1821:;
   11114              :                                                                 }
   11115              :                                                           }
   11116              :                                                         }
   11117              :                                                   }
   11118              :                                                 }
   11119              :                                             }
   11120              :                                           }
   11121              :                                       }
   11122              :                                     break;
   11123              :                                   }
   11124              :                                 default:;
   11125              :                                 }
   11126              :                             }
   11127              :                           break;
   11128              :                         }
   11129              :                       default:;
   11130              :                       }
   11131              :                     break;
   11132              :                   }
   11133              :                 default:;
   11134              :                 }
   11135              :               break;
   11136              :             }
   11137              :           default:;
   11138              :           }
   11139              :         break;
   11140              :       }
   11141      2069710 :     case EQ_EXPR:
   11142      2069710 :       {
   11143      2069710 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11144      2069710 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11145      2069710 :         switch (TREE_CODE (_q20))
   11146              :           {
   11147        57368 :           case BIT_AND_EXPR:
   11148        57368 :             {
   11149        57368 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11150        57368 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11151        57368 :               switch (TREE_CODE (_q31))
   11152              :                 {
   11153        57368 :                 case INTEGER_CST:
   11154        57368 :                   {
   11155        57368 :                     if (integer_zerop (_q21))
   11156              :                       {
   11157        57262 :                         switch (TREE_CODE (_p1))
   11158              :                           {
   11159            0 :                           case LT_EXPR:
   11160            0 :                             {
   11161            0 :                               tree _q70 = TREE_OPERAND (_p1, 0);
   11162            0 :                               tree _q71 = TREE_OPERAND (_p1, 1);
   11163            0 :                               {
   11164            0 :                                 tree _q70_pops[1];
   11165            0 :                                 if (tree_nop_convert (_q70, _q70_pops))
   11166              :                                   {
   11167            0 :                                     tree _q80 = _q70_pops[0];
   11168            0 :                                     if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
   11169              :                                       {
   11170            0 :                                         if (integer_zerop (_q71))
   11171              :                                           {
   11172            0 :                                             {
   11173            0 :                                               tree captures[3] ATTRIBUTE_UNUSED = { _q70, _q30, _q31 };
   11174            0 :                                               if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   11175            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   11176            0 :  && wi::eq_p (wi::to_wide (captures[2]),
   11177            0 :  wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), SIGNED))
   11178              : )
   11179              :                                                 {
   11180            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1822;
   11181            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1822;
   11182            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1822;
   11183            0 :                                                   {
   11184            0 :                                                     tree res_op0;
   11185            0 :                                                     res_op0 = captures[0];
   11186            0 :                                                     tree res_op1;
   11187            0 :                                                     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
   11188            0 :                                                     tree _r;
   11189            0 :                                                     _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
   11190            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   11191            0 :                                                     return _r;
   11192              :                                                   }
   11193            0 : next_after_fail1822:;
   11194              :                                                 }
   11195              :                                             }
   11196              :                                           }
   11197              :                                       }
   11198              :                                   }
   11199              :                               }
   11200            0 :                               if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11201              :                                 {
   11202            0 :                                   if (integer_zerop (_q71))
   11203              :                                     {
   11204            0 :                                       {
   11205            0 :                                         tree captures[3] ATTRIBUTE_UNUSED = { _q70, _q30, _q31 };
   11206            0 :                                         if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   11207            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   11208            0 :  && wi::eq_p (wi::to_wide (captures[2]),
   11209            0 :  wi::max_value (TYPE_PRECISION (TREE_TYPE (captures[1])), SIGNED))
   11210              : )
   11211              :                                           {
   11212            0 :                                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1823;
   11213            0 :                                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1823;
   11214            0 :                                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1823;
   11215            0 :                                             {
   11216            0 :                                               tree res_op0;
   11217            0 :                                               res_op0 = captures[0];
   11218            0 :                                               tree res_op1;
   11219            0 :                                               res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
   11220            0 :                                               tree _r;
   11221            0 :                                               _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
   11222            0 :                                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
   11223              :                                               return _r;
   11224              :                                             }
   11225      9534528 : next_after_fail1823:;
   11226              :                                           }
   11227              :                                       }
   11228              :                                     }
   11229              :                                 }
   11230              :                               break;
   11231              :                             }
   11232              :                           default:;
   11233              :                           }
   11234              :                       }
   11235              :                     break;
   11236              :                   }
   11237              :                 default:;
   11238              :                 }
   11239              :               break;
   11240              :             }
   11241              :           default:;
   11242              :           }
   11243              :         break;
   11244              :       }
   11245      1333433 :     case LE_EXPR:
   11246      1333433 :       {
   11247      1333433 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11248      1333433 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11249      1333433 :         switch (TREE_CODE (_q20))
   11250              :           {
   11251         5053 :           case POINTER_PLUS_EXPR:
   11252         5053 :             {
   11253         5053 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11254         5053 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11255         5053 :               switch (TREE_CODE (_q31))
   11256              :                 {
   11257         4815 :                 case INTEGER_CST:
   11258         4815 :                   {
   11259         4815 :                     switch (TREE_CODE (_p1))
   11260              :                       {
   11261         1095 :                       case LE_EXPR:
   11262         1095 :                         {
   11263         1095 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11264         1095 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11265         1095 :                           switch (TREE_CODE (_q70))
   11266              :                             {
   11267          809 :                             case POINTER_PLUS_EXPR:
   11268          809 :                               {
   11269          809 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11270          809 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11271          809 :                                 if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11272              :                                   {
   11273          523 :                                     if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
   11274              :                                       {
   11275          399 :                                         if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   11276              :                                           {
   11277          399 :                                             {
   11278          399 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
   11279          399 :                                               const enum tree_code cmp = LE_EXPR;
   11280          399 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11281          398 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11282          797 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11283              : )
   11284              :                                                 {
   11285          398 :                                                   {
   11286          398 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11287          398 :  offset_int rhs = off * 2;
   11288          398 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11289              : )
   11290              :                                                         {
   11291          398 :                                                           {
   11292          398 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11293          398 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11294          398 :                                                               if (cmp == LT_EXPR
   11295              : )
   11296              :                                                                 {
   11297              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1824;
   11298              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1824;
   11299              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1824;
   11300              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1824;
   11301              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1824;
   11302              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1824;
   11303              :                                                                   {
   11304              :                                                                     tree res_op0;
   11305              :                                                                     {
   11306              :                                                                       tree _o1[1], _r1;
   11307              :                                                                       {
   11308              :                                                                         tree _o2[2], _r2;
   11309              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11310              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11311              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11312              :                                                                         _o1[0] = _r2;
   11313              :                                                                       }
   11314              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11315              :                                                                         {
   11316              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11317              :                                                                         }
   11318              :                                                                       else
   11319              :                                                                         _r1 = _o1[0];
   11320              :                                                                       res_op0 = _r1;
   11321              :                                                                     }
   11322              :                                                                     tree res_op1;
   11323              :                                                                     res_op1 =  rhs_tree;
   11324              :                                                                     tree _r;
   11325              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11326              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   11327          398 :                                                                     return _r;
   11328              :                                                                   }
   11329              : next_after_fail1824:;
   11330              :                                                                 }
   11331              :                                                               else
   11332              :                                                                 {
   11333          398 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1825;
   11334          398 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1825;
   11335          398 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1825;
   11336          398 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1825;
   11337          398 :                                                                   {
   11338          398 :                                                                     tree res_op0;
   11339          398 :                                                                     {
   11340          398 :                                                                       tree _o1[1], _r1;
   11341          398 :                                                                       {
   11342          398 :                                                                         tree _o2[2], _r2;
   11343          398 :                                                                         {
   11344          398 :                                                                           tree _o3[2], _r3;
   11345          398 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11346          398 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11347          398 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11348          398 :                                                                           _o2[0] = _r3;
   11349              :                                                                         }
   11350          398 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11351          398 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11352          398 :                                                                         _o1[0] = _r2;
   11353              :                                                                       }
   11354          398 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11355              :                                                                         {
   11356          398 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11357              :                                                                         }
   11358              :                                                                       else
   11359              :                                                                         _r1 = _o1[0];
   11360          398 :                                                                       res_op0 = _r1;
   11361              :                                                                     }
   11362          398 :                                                                     tree res_op1;
   11363          398 :                                                                     res_op1 =  rhs_tree;
   11364          398 :                                                                     tree _r;
   11365          398 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11366          398 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   11367          398 :                                                                     return _r;
   11368              :                                                                   }
   11369            0 : next_after_fail1825:;
   11370              :                                                                 }
   11371              :                                                           }
   11372              :                                                         }
   11373              :                                                   }
   11374              :                                                 }
   11375              :                                             }
   11376              :                                           }
   11377              :                                       }
   11378              :                                   }
   11379              :                                 break;
   11380              :                               }
   11381              :                             default:;
   11382              :                             }
   11383              :                           break;
   11384              :                         }
   11385          117 :                       case GE_EXPR:
   11386          117 :                         {
   11387          117 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11388          117 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11389          117 :                           if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   11390              :                             {
   11391           18 :                               switch (TREE_CODE (_q71))
   11392              :                                 {
   11393           18 :                                 case POINTER_PLUS_EXPR:
   11394           18 :                                   {
   11395           18 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11396           18 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11397           18 :                                     if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
   11398              :                                       {
   11399           16 :                                         if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
   11400              :                                           {
   11401           11 :                                             {
   11402           11 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
   11403           11 :                                               const enum tree_code cmp = LE_EXPR;
   11404           11 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11405           11 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11406           22 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11407              : )
   11408              :                                                 {
   11409           11 :                                                   {
   11410           11 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11411           11 :  offset_int rhs = off * 2;
   11412           11 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11413              : )
   11414              :                                                         {
   11415           11 :                                                           {
   11416           11 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11417           11 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11418           11 :                                                               if (cmp == LT_EXPR
   11419              : )
   11420              :                                                                 {
   11421              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1826;
   11422              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1826;
   11423              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1826;
   11424              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1826;
   11425              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1826;
   11426              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1826;
   11427              :                                                                   {
   11428              :                                                                     tree res_op0;
   11429              :                                                                     {
   11430              :                                                                       tree _o1[1], _r1;
   11431              :                                                                       {
   11432              :                                                                         tree _o2[2], _r2;
   11433              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11434              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11435              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11436              :                                                                         _o1[0] = _r2;
   11437              :                                                                       }
   11438              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11439              :                                                                         {
   11440              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11441              :                                                                         }
   11442              :                                                                       else
   11443              :                                                                         _r1 = _o1[0];
   11444              :                                                                       res_op0 = _r1;
   11445              :                                                                     }
   11446              :                                                                     tree res_op1;
   11447              :                                                                     res_op1 =  rhs_tree;
   11448              :                                                                     tree _r;
   11449              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11450              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   11451           11 :                                                                     return _r;
   11452              :                                                                   }
   11453              : next_after_fail1826:;
   11454              :                                                                 }
   11455              :                                                               else
   11456              :                                                                 {
   11457           11 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1827;
   11458           11 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1827;
   11459           11 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1827;
   11460           11 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1827;
   11461           11 :                                                                   {
   11462           11 :                                                                     tree res_op0;
   11463           11 :                                                                     {
   11464           11 :                                                                       tree _o1[1], _r1;
   11465           11 :                                                                       {
   11466           11 :                                                                         tree _o2[2], _r2;
   11467           11 :                                                                         {
   11468           11 :                                                                           tree _o3[2], _r3;
   11469           11 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11470           11 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11471           11 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11472           11 :                                                                           _o2[0] = _r3;
   11473              :                                                                         }
   11474           11 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11475           11 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11476           11 :                                                                         _o1[0] = _r2;
   11477              :                                                                       }
   11478           11 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11479              :                                                                         {
   11480           11 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11481              :                                                                         }
   11482              :                                                                       else
   11483              :                                                                         _r1 = _o1[0];
   11484           11 :                                                                       res_op0 = _r1;
   11485              :                                                                     }
   11486           11 :                                                                     tree res_op1;
   11487           11 :                                                                     res_op1 =  rhs_tree;
   11488           11 :                                                                     tree _r;
   11489           11 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11490           11 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   11491           11 :                                                                     return _r;
   11492              :                                                                   }
   11493            0 : next_after_fail1827:;
   11494              :                                                                 }
   11495              :                                                           }
   11496              :                                                         }
   11497              :                                                   }
   11498              :                                                 }
   11499              :                                             }
   11500              :                                           }
   11501              :                                       }
   11502              :                                     break;
   11503              :                                   }
   11504              :                                 default:;
   11505              :                                 }
   11506              :                             }
   11507              :                           break;
   11508              :                         }
   11509              :                       default:;
   11510              :                       }
   11511              :                     break;
   11512              :                   }
   11513              :                 default:;
   11514              :                 }
   11515              :               break;
   11516              :             }
   11517              :           default:;
   11518              :           }
   11519              :         break;
   11520              :       }
   11521       797823 :     case GE_EXPR:
   11522       797823 :       {
   11523       797823 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11524       797823 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11525       797823 :         switch (TREE_CODE (_q21))
   11526              :           {
   11527           56 :           case POINTER_PLUS_EXPR:
   11528           56 :             {
   11529           56 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11530           56 :               tree _q41 = TREE_OPERAND (_q21, 1);
   11531           56 :               switch (TREE_CODE (_q41))
   11532              :                 {
   11533           56 :                 case INTEGER_CST:
   11534           56 :                   {
   11535           56 :                     switch (TREE_CODE (_p1))
   11536              :                       {
   11537           54 :                       case LE_EXPR:
   11538           54 :                         {
   11539           54 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11540           54 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11541           54 :                           switch (TREE_CODE (_q70))
   11542              :                             {
   11543           44 :                             case POINTER_PLUS_EXPR:
   11544           44 :                               {
   11545           44 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11546           44 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11547           44 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11548              :                                   {
   11549           29 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
   11550              :                                       {
   11551            3 :                                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   11552              :                                           {
   11553            3 :                                             {
   11554            3 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
   11555            3 :                                               const enum tree_code cmp = LE_EXPR;
   11556            3 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11557            3 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11558            6 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11559              : )
   11560              :                                                 {
   11561            3 :                                                   {
   11562            3 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11563            3 :  offset_int rhs = off * 2;
   11564            3 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11565              : )
   11566              :                                                         {
   11567            3 :                                                           {
   11568            3 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11569            3 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11570            3 :                                                               if (cmp == LT_EXPR
   11571              : )
   11572              :                                                                 {
   11573              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1828;
   11574              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1828;
   11575              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1828;
   11576              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1828;
   11577              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1828;
   11578              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1828;
   11579              :                                                                   {
   11580              :                                                                     tree res_op0;
   11581              :                                                                     {
   11582              :                                                                       tree _o1[1], _r1;
   11583              :                                                                       {
   11584              :                                                                         tree _o2[2], _r2;
   11585              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11586              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11587              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11588              :                                                                         _o1[0] = _r2;
   11589              :                                                                       }
   11590              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11591              :                                                                         {
   11592              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11593              :                                                                         }
   11594              :                                                                       else
   11595              :                                                                         _r1 = _o1[0];
   11596              :                                                                       res_op0 = _r1;
   11597              :                                                                     }
   11598              :                                                                     tree res_op1;
   11599              :                                                                     res_op1 =  rhs_tree;
   11600              :                                                                     tree _r;
   11601              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11602              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   11603            3 :                                                                     return _r;
   11604              :                                                                   }
   11605              : next_after_fail1828:;
   11606              :                                                                 }
   11607              :                                                               else
   11608              :                                                                 {
   11609            3 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1829;
   11610            3 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1829;
   11611            3 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1829;
   11612            3 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1829;
   11613            3 :                                                                   {
   11614            3 :                                                                     tree res_op0;
   11615            3 :                                                                     {
   11616            3 :                                                                       tree _o1[1], _r1;
   11617            3 :                                                                       {
   11618            3 :                                                                         tree _o2[2], _r2;
   11619            3 :                                                                         {
   11620            3 :                                                                           tree _o3[2], _r3;
   11621            3 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11622            3 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11623            3 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11624            3 :                                                                           _o2[0] = _r3;
   11625              :                                                                         }
   11626            3 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11627            3 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11628            3 :                                                                         _o1[0] = _r2;
   11629              :                                                                       }
   11630            3 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11631              :                                                                         {
   11632            3 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11633              :                                                                         }
   11634              :                                                                       else
   11635              :                                                                         _r1 = _o1[0];
   11636            3 :                                                                       res_op0 = _r1;
   11637              :                                                                     }
   11638            3 :                                                                     tree res_op1;
   11639            3 :                                                                     res_op1 =  rhs_tree;
   11640            3 :                                                                     tree _r;
   11641            3 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11642            3 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   11643            3 :                                                                     return _r;
   11644              :                                                                   }
   11645            0 : next_after_fail1829:;
   11646              :                                                                 }
   11647              :                                                           }
   11648              :                                                         }
   11649              :                                                   }
   11650              :                                                 }
   11651              :                                             }
   11652              :                                           }
   11653              :                                       }
   11654              :                                   }
   11655              :                                 break;
   11656              :                               }
   11657              :                             default:;
   11658              :                             }
   11659              :                           break;
   11660              :                         }
   11661            0 :                       case GE_EXPR:
   11662            0 :                         {
   11663            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11664            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11665            0 :                           if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   11666              :                             {
   11667            0 :                               switch (TREE_CODE (_q71))
   11668              :                                 {
   11669            0 :                                 case POINTER_PLUS_EXPR:
   11670            0 :                                   {
   11671            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11672            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11673            0 :                                     if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
   11674              :                                       {
   11675            0 :                                         if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
   11676              :                                           {
   11677            0 :                                             {
   11678            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
   11679            0 :                                               const enum tree_code cmp = LE_EXPR;
   11680            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11681            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11682            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11683              : )
   11684              :                                                 {
   11685            0 :                                                   {
   11686            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11687            0 :  offset_int rhs = off * 2;
   11688            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11689              : )
   11690              :                                                         {
   11691            0 :                                                           {
   11692            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11693            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11694            0 :                                                               if (cmp == LT_EXPR
   11695              : )
   11696              :                                                                 {
   11697              :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1830;
   11698              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1830;
   11699              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1830;
   11700              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1830;
   11701              :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1830;
   11702              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1830;
   11703              :                                                                   {
   11704              :                                                                     tree res_op0;
   11705              :                                                                     {
   11706              :                                                                       tree _o1[1], _r1;
   11707              :                                                                       {
   11708              :                                                                         tree _o2[2], _r2;
   11709              :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11710              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11711              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11712              :                                                                         _o1[0] = _r2;
   11713              :                                                                       }
   11714              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11715              :                                                                         {
   11716              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11717              :                                                                         }
   11718              :                                                                       else
   11719              :                                                                         _r1 = _o1[0];
   11720              :                                                                       res_op0 = _r1;
   11721              :                                                                     }
   11722              :                                                                     tree res_op1;
   11723              :                                                                     res_op1 =  rhs_tree;
   11724              :                                                                     tree _r;
   11725              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11726              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   11727            0 :                                                                     return _r;
   11728              :                                                                   }
   11729              : next_after_fail1830:;
   11730              :                                                                 }
   11731              :                                                               else
   11732              :                                                                 {
   11733            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1831;
   11734            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1831;
   11735            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1831;
   11736            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1831;
   11737            0 :                                                                   {
   11738            0 :                                                                     tree res_op0;
   11739            0 :                                                                     {
   11740            0 :                                                                       tree _o1[1], _r1;
   11741            0 :                                                                       {
   11742            0 :                                                                         tree _o2[2], _r2;
   11743            0 :                                                                         {
   11744            0 :                                                                           tree _o3[2], _r3;
   11745            0 :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11746            0 :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11747            0 :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11748            0 :                                                                           _o2[0] = _r3;
   11749              :                                                                         }
   11750            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11751            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11752            0 :                                                                         _o1[0] = _r2;
   11753              :                                                                       }
   11754            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11755              :                                                                         {
   11756            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11757              :                                                                         }
   11758              :                                                                       else
   11759              :                                                                         _r1 = _o1[0];
   11760            0 :                                                                       res_op0 = _r1;
   11761              :                                                                     }
   11762            0 :                                                                     tree res_op1;
   11763            0 :                                                                     res_op1 =  rhs_tree;
   11764            0 :                                                                     tree _r;
   11765            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11766            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   11767            0 :                                                                     return _r;
   11768              :                                                                   }
   11769            0 : next_after_fail1831:;
   11770              :                                                                 }
   11771              :                                                           }
   11772              :                                                         }
   11773              :                                                   }
   11774              :                                                 }
   11775              :                                             }
   11776              :                                           }
   11777              :                                       }
   11778              :                                     break;
   11779              :                                   }
   11780              :                                 default:;
   11781              :                                 }
   11782              :                             }
   11783              :                           break;
   11784              :                         }
   11785              :                       default:;
   11786              :                       }
   11787              :                     break;
   11788              :                   }
   11789              :                 default:;
   11790              :                 }
   11791              :               break;
   11792              :             }
   11793              :           default:;
   11794              :           }
   11795              :         break;
   11796              :       }
   11797      1197783 :     case GT_EXPR:
   11798      1197783 :       {
   11799      1197783 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11800      1197783 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11801      1197783 :         switch (TREE_CODE (_q21))
   11802              :           {
   11803           46 :           case POINTER_PLUS_EXPR:
   11804           46 :             {
   11805           46 :               tree _q40 = TREE_OPERAND (_q21, 0);
   11806           46 :               tree _q41 = TREE_OPERAND (_q21, 1);
   11807           46 :               switch (TREE_CODE (_q41))
   11808              :                 {
   11809           46 :                 case INTEGER_CST:
   11810           46 :                   {
   11811           46 :                     switch (TREE_CODE (_p1))
   11812              :                       {
   11813            0 :                       case LT_EXPR:
   11814            0 :                         {
   11815            0 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11816            0 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11817            0 :                           switch (TREE_CODE (_q70))
   11818              :                             {
   11819            0 :                             case POINTER_PLUS_EXPR:
   11820            0 :                               {
   11821            0 :                                 tree _q80 = TREE_OPERAND (_q70, 0);
   11822            0 :                                 tree _q81 = TREE_OPERAND (_q70, 1);
   11823            0 :                                 if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11824              :                                   {
   11825            0 :                                     if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
   11826              :                                       {
   11827            0 :                                         if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
   11828              :                                           {
   11829            0 :                                             {
   11830            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
   11831            0 :                                               const enum tree_code cmp = LT_EXPR;
   11832            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11833            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11834            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11835              : )
   11836              :                                                 {
   11837            0 :                                                   {
   11838            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11839            0 :  offset_int rhs = off * 2;
   11840            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11841              : )
   11842              :                                                         {
   11843            0 :                                                           {
   11844            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11845            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11846            0 :                                                               if (cmp == LT_EXPR
   11847              : )
   11848              :                                                                 {
   11849            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1832;
   11850            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1832;
   11851            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1832;
   11852            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1832;
   11853            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1832;
   11854            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1832;
   11855            0 :                                                                   {
   11856            0 :                                                                     tree res_op0;
   11857            0 :                                                                     {
   11858            0 :                                                                       tree _o1[1], _r1;
   11859            0 :                                                                       {
   11860            0 :                                                                         tree _o2[2], _r2;
   11861            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11862            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11863            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11864            0 :                                                                         _o1[0] = _r2;
   11865              :                                                                       }
   11866            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11867              :                                                                         {
   11868            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11869              :                                                                         }
   11870              :                                                                       else
   11871              :                                                                         _r1 = _o1[0];
   11872            0 :                                                                       res_op0 = _r1;
   11873              :                                                                     }
   11874            0 :                                                                     tree res_op1;
   11875            0 :                                                                     res_op1 =  rhs_tree;
   11876            0 :                                                                     tree _r;
   11877            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11878            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   11879            0 :                                                                     return _r;
   11880              :                                                                   }
   11881            0 : next_after_fail1832:;
   11882              :                                                                 }
   11883              :                                                               else
   11884              :                                                                 {
   11885              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1833;
   11886              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1833;
   11887              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1833;
   11888              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1833;
   11889              :                                                                   {
   11890              :                                                                     tree res_op0;
   11891              :                                                                     {
   11892              :                                                                       tree _o1[1], _r1;
   11893              :                                                                       {
   11894              :                                                                         tree _o2[2], _r2;
   11895              :                                                                         {
   11896              :                                                                           tree _o3[2], _r3;
   11897              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   11898              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   11899              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   11900              :                                                                           _o2[0] = _r3;
   11901              :                                                                         }
   11902              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11903              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11904              :                                                                         _o1[0] = _r2;
   11905              :                                                                       }
   11906              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11907              :                                                                         {
   11908              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11909              :                                                                         }
   11910              :                                                                       else
   11911              :                                                                         _r1 = _o1[0];
   11912              :                                                                       res_op0 = _r1;
   11913              :                                                                     }
   11914              :                                                                     tree res_op1;
   11915              :                                                                     res_op1 =  rhs_tree;
   11916              :                                                                     tree _r;
   11917              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   11918              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   11919              :                                                                     return _r;
   11920              :                                                                   }
   11921              : next_after_fail1833:;
   11922              :                                                                 }
   11923              :                                                           }
   11924              :                                                         }
   11925              :                                                   }
   11926              :                                                 }
   11927              :                                             }
   11928              :                                           }
   11929              :                                       }
   11930              :                                   }
   11931              :                                 break;
   11932              :                               }
   11933              :                             default:;
   11934              :                             }
   11935              :                           break;
   11936              :                         }
   11937           18 :                       case GT_EXPR:
   11938           18 :                         {
   11939           18 :                           tree _q70 = TREE_OPERAND (_p1, 0);
   11940           18 :                           tree _q71 = TREE_OPERAND (_p1, 1);
   11941           18 :                           if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
   11942              :                             {
   11943            0 :                               switch (TREE_CODE (_q71))
   11944              :                                 {
   11945            0 :                                 case POINTER_PLUS_EXPR:
   11946            0 :                                   {
   11947            0 :                                     tree _q90 = TREE_OPERAND (_q71, 0);
   11948            0 :                                     tree _q91 = TREE_OPERAND (_q71, 1);
   11949            0 :                                     if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
   11950              :                                       {
   11951            0 :                                         if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
   11952              :                                           {
   11953            0 :                                             {
   11954            0 :                                               tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
   11955            0 :                                               const enum tree_code cmp = LT_EXPR;
   11956            0 :                                               if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
   11957            0 :  && TYPE_OVERFLOW_WRAPS (sizetype)
   11958            0 :  && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
   11959              : )
   11960              :                                                 {
   11961            0 :                                                   {
   11962            0 :  offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
   11963            0 :  offset_int rhs = off * 2;
   11964            0 :                                                       if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
   11965              : )
   11966              :                                                         {
   11967            0 :                                                           {
   11968            0 :  bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
   11969            0 :  tree rhs_tree = wide_int_to_tree (sizetype, rhs);
   11970            0 :                                                               if (cmp == LT_EXPR
   11971              : )
   11972              :                                                                 {
   11973            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1834;
   11974            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1834;
   11975            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1834;
   11976            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1834;
   11977            0 :                                                                   if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1834;
   11978            0 :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1834;
   11979            0 :                                                                   {
   11980            0 :                                                                     tree res_op0;
   11981            0 :                                                                     {
   11982            0 :                                                                       tree _o1[1], _r1;
   11983            0 :                                                                       {
   11984            0 :                                                                         tree _o2[2], _r2;
   11985            0 :                                                                         _o2[0] =  swap_p ? captures[6] : captures[1];
   11986            0 :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   11987            0 :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   11988            0 :                                                                         _o1[0] = _r2;
   11989              :                                                                       }
   11990            0 :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   11991              :                                                                         {
   11992            0 :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   11993              :                                                                         }
   11994              :                                                                       else
   11995              :                                                                         _r1 = _o1[0];
   11996            0 :                                                                       res_op0 = _r1;
   11997              :                                                                     }
   11998            0 :                                                                     tree res_op1;
   11999            0 :                                                                     res_op1 =  rhs_tree;
   12000            0 :                                                                     tree _r;
   12001            0 :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12002            0 :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
   12003            0 :                                                                     return _r;
   12004              :                                                                   }
   12005            0 : next_after_fail1834:;
   12006              :                                                                 }
   12007              :                                                               else
   12008              :                                                                 {
   12009              :                                                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1835;
   12010              :                                                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1835;
   12011              :                                                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1835;
   12012              :                                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1835;
   12013              :                                                                   {
   12014              :                                                                     tree res_op0;
   12015              :                                                                     {
   12016              :                                                                       tree _o1[1], _r1;
   12017              :                                                                       {
   12018              :                                                                         tree _o2[2], _r2;
   12019              :                                                                         {
   12020              :                                                                           tree _o3[2], _r3;
   12021              :                                                                           _o3[0] =  swap_p ? captures[4] : captures[2];
   12022              :                                                                           _o3[1] =  wide_int_to_tree (sizetype, off);
   12023              :                                                                           _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
   12024              :                                                                           _o2[0] = _r3;
   12025              :                                                                         }
   12026              :                                                                         _o2[1] =  swap_p ? captures[2] : captures[4];
   12027              :                                                                         _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
   12028              :                                                                         _o1[0] = _r2;
   12029              :                                                                       }
   12030              :                                                                       if (TREE_TYPE (_o1[0]) != sizetype)
   12031              :                                                                         {
   12032              :                                                                           _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
   12033              :                                                                         }
   12034              :                                                                       else
   12035              :                                                                         _r1 = _o1[0];
   12036              :                                                                       res_op0 = _r1;
   12037              :                                                                     }
   12038              :                                                                     tree res_op1;
   12039              :                                                                     res_op1 =  rhs_tree;
   12040              :                                                                     tree _r;
   12041              :                                                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
   12042              :                                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
   12043              :                                                                     return _r;
   12044              :                                                                   }
   12045              : next_after_fail1835:;
   12046              :                                                                 }
   12047              :                                                           }
   12048              :                                                         }
   12049              :                                                   }
   12050              :                                                 }
   12051              :                                             }
   12052              :                                           }
   12053              :                                       }
   12054              :                                     break;
   12055              :                                   }
   12056              :                                 default:;
   12057              :                                 }
   12058              :                             }
   12059              :                           break;
   12060              :                         }
   12061              :                       default:;
   12062              :                       }
   12063              :                     break;
   12064              :                   }
   12065              :                 default:;
   12066              :                 }
   12067              :               break;
   12068              :             }
   12069              :           default:;
   12070              :           }
   12071              :         break;
   12072              :       }
   12073              :     default:;
   12074              :     }
   12075              :   return NULL_TREE;
   12076              : }
   12077              : 
   12078              : tree
   12079       434634 : generic_simplify_UNGE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   12080              : {
   12081       434634 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   12082       434634 :   switch (TREE_CODE (_p0))
   12083              :     {
   12084            0 :     case VEC_COND_EXPR:
   12085            0 :       {
   12086            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12087            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12088            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   12089            0 :         switch (TREE_CODE (_p1))
   12090              :           {
   12091            0 :           case VEC_COND_EXPR:
   12092            0 :             {
   12093            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   12094            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   12095            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   12096            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   12097              :                 {
   12098            0 :                   {
   12099            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   12100            0 :                     if (VECTOR_TYPE_P (type)
   12101            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   12102            0 :  || types_match (type, TREE_TYPE (captures[2]))
   12103            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12104              :  || (optimize_vectors_before_lowering_p ()
   12105            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12106              : )
   12107              :                       {
   12108            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
   12109            0 :                         {
   12110            0 :                           tree res_op0;
   12111            0 :                           res_op0 = captures[1];
   12112            0 :                           tree res_op1;
   12113            0 :                           {
   12114            0 :                             tree _o1[2], _r1;
   12115            0 :                             _o1[0] = captures[2];
   12116            0 :                             _o1[1] = captures[5];
   12117            0 :                             _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   12118            0 :                             if (EXPR_P (_r1))
   12119            0 :                               goto next_after_fail1885;
   12120            0 :                             res_op1 = _r1;
   12121              :                           }
   12122            0 :                           tree res_op2;
   12123            0 :                           {
   12124            0 :                             tree _o1[2], _r1;
   12125            0 :                             _o1[0] = captures[3];
   12126            0 :                             _o1[1] = captures[6];
   12127            0 :                             _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   12128            0 :                             if (EXPR_P (_r1))
   12129            0 :                               goto next_after_fail1885;
   12130            0 :                             res_op2 = _r1;
   12131              :                           }
   12132            0 :                           tree _r;
   12133            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12134            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 938, __FILE__, __LINE__, true);
   12135              :                           return _r;
   12136              :                         }
   12137            0 : next_after_fail1885:;
   12138              :                       }
   12139              :                   }
   12140              :                 }
   12141              :               break;
   12142              :             }
   12143            0 :           default:;
   12144              :           }
   12145            0 :         {
   12146            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   12147            0 :           if (VECTOR_TYPE_P (type)
   12148            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   12149            0 :  || types_match (type, TREE_TYPE (captures[2]))
   12150            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   12151              :  || (optimize_vectors_before_lowering_p ()
   12152            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   12153              : )
   12154              :             {
   12155            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1886;
   12156            0 :               {
   12157            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1886;
   12158            0 :                 tree res_op0;
   12159            0 :                 res_op0 = captures[1];
   12160            0 :                 tree res_op1;
   12161            0 :                 {
   12162            0 :                   tree _o1[2], _r1;
   12163            0 :                   _o1[0] = captures[2];
   12164            0 :                   _o1[1] = unshare_expr (captures[4]);
   12165            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   12166            0 :                   if (EXPR_P (_r1))
   12167            0 :                     goto next_after_fail1886;
   12168            0 :                   res_op1 = _r1;
   12169              :                 }
   12170            0 :                 tree res_op2;
   12171            0 :                 {
   12172            0 :                   tree _o1[2], _r1;
   12173            0 :                   _o1[0] = captures[3];
   12174            0 :                   _o1[1] = captures[4];
   12175            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   12176            0 :                   if (EXPR_P (_r1))
   12177            0 :                     goto next_after_fail1886;
   12178            0 :                   res_op2 = _r1;
   12179              :                 }
   12180            0 :                 tree _r;
   12181            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12182            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 940, __FILE__, __LINE__, true);
   12183              :                 return _r;
   12184              :               }
   12185       434634 : next_after_fail1886:;
   12186              :             }
   12187              :         }
   12188              :         break;
   12189              :       }
   12190       434634 :     default:;
   12191              :     }
   12192       434634 :   switch (TREE_CODE (_p1))
   12193              :     {
   12194            0 :     case VEC_COND_EXPR:
   12195            0 :       {
   12196            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12197            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12198            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12199            0 :         {
   12200            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   12201            0 :           if (VECTOR_TYPE_P (type)
   12202            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   12203            0 :  || types_match (type, TREE_TYPE (captures[3]))
   12204            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   12205              :  || (optimize_vectors_before_lowering_p ()
   12206            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   12207              : )
   12208              :             {
   12209            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1887;
   12210            0 :               {
   12211            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1887;
   12212            0 :                 tree res_op0;
   12213            0 :                 res_op0 = captures[2];
   12214            0 :                 tree res_op1;
   12215            0 :                 {
   12216            0 :                   tree _o1[2], _r1;
   12217            0 :                   _o1[0] = unshare_expr (captures[0]);
   12218            0 :                   _o1[1] = captures[3];
   12219            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   12220            0 :                   if (EXPR_P (_r1))
   12221            0 :                     goto next_after_fail1887;
   12222            0 :                   res_op1 = _r1;
   12223              :                 }
   12224            0 :                 tree res_op2;
   12225            0 :                 {
   12226            0 :                   tree _o1[2], _r1;
   12227            0 :                   _o1[0] = captures[0];
   12228            0 :                   _o1[1] = captures[4];
   12229            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   12230            0 :                   if (EXPR_P (_r1))
   12231            0 :                     goto next_after_fail1887;
   12232            0 :                   res_op2 = _r1;
   12233              :                 }
   12234            0 :                 tree _r;
   12235            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12236            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 941, __FILE__, __LINE__, true);
   12237              :                 return _r;
   12238              :               }
   12239       434634 : next_after_fail1887:;
   12240              :             }
   12241              :         }
   12242              :         break;
   12243              :       }
   12244       434634 :     default:;
   12245              :     }
   12246       434634 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   12247              :     {
   12248           30 :       {
   12249           30 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   12250           30 :         tree res = generic_simplify_593 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   12251           30 :         if (res) return res;
   12252              :       }
   12253              :     }
   12254       434604 :   switch (TREE_CODE (_p0))
   12255              :     {
   12256          331 :     case FLOAT_EXPR:
   12257          331 :       {
   12258          331 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12259          331 :         switch (TREE_CODE (_p1))
   12260              :           {
   12261            0 :           case FLOAT_EXPR:
   12262            0 :             {
   12263            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12264            0 :               {
   12265            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   12266            0 :                 tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, UNGE_EXPR, GE_EXPR);
   12267            0 :                 if (res) return res;
   12268              :               }
   12269            0 :               break;
   12270              :             }
   12271              :           default:;
   12272              :           }
   12273              :         break;
   12274              :       }
   12275          112 :     case NEGATE_EXPR:
   12276          112 :       {
   12277          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12278          112 :         switch (TREE_CODE (_p1))
   12279              :           {
   12280            0 :           case NEGATE_EXPR:
   12281            0 :             {
   12282            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   12283            0 :               {
   12284            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   12285            0 :                 tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
   12286            0 :                 if (res) return res;
   12287              :               }
   12288            0 :               break;
   12289              :             }
   12290          112 :           default:;
   12291              :           }
   12292          112 :       if (CONSTANT_CLASS_P (_p1))
   12293              :         {
   12294          112 :           {
   12295          112 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12296          112 :             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
   12297          112 :             if (res) return res;
   12298              :           }
   12299              :         }
   12300              :         break;
   12301              :       }
   12302       434492 :     default:;
   12303              :     }
   12304       434492 :   switch (TREE_CODE (_p1))
   12305              :     {
   12306        54155 :     case REAL_CST:
   12307        54155 :       {
   12308        54155 :         {
   12309        54155 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12310        54155 :           tree res = generic_simplify_591 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   12311        54155 :           if (res) return res;
   12312              :         }
   12313        54153 :         break;
   12314              :       }
   12315              :     default:;
   12316              :     }
   12317              :   return NULL_TREE;
   12318              : }
   12319              : 
   12320              : tree
   12321       465359 : generic_simplify_VEC_COND_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1, tree _p2)
   12322              : {
   12323       465359 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   12324       465359 :   switch (TREE_CODE (_p0))
   12325              :     {
   12326         1431 :     case NE_EXPR:
   12327         1431 :       {
   12328         1431 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12329         1431 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12330         1431 :         if (uniform_integer_cst_p (_q21))
   12331              :           {
   12332          488 :             switch (TREE_CODE (_p1))
   12333              :               {
   12334           35 :               case PLUS_EXPR:
   12335           35 :                 {
   12336           35 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   12337           35 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   12338           35 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12339              :                     {
   12340           24 :                       if (uniform_integer_cst_p (_q51))
   12341              :                         {
   12342           24 :                           if (uniform_integer_cst_p (_p2))
   12343              :                             {
   12344           24 :                               {
   12345           24 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   12346           24 :                                 {
   12347           24 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   12348           24 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   12349           24 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   12350           24 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   12351              : )
   12352              :                                       {
   12353           18 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1989;
   12354           18 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1989;
   12355           18 :                                         {
   12356           18 :                                           tree _r;
   12357           18 :                                           _r = captures[2];
   12358           18 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   12359            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12360           18 :                                           if (TREE_SIDE_EFFECTS (captures[4]))
   12361            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   12362           18 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
   12363              :                                           return _r;
   12364              :                                         }
   12365       454600 : next_after_fail1989:;
   12366              :                                       }
   12367              :                                 }
   12368              :                               }
   12369              :                             }
   12370              :                         }
   12371              :                     }
   12372              :                   break;
   12373              :                 }
   12374              :               default:;
   12375              :               }
   12376              :           }
   12377              :         break;
   12378              :       }
   12379        22468 :     case VECTOR_CST:
   12380        22468 :       {
   12381        22468 :         {
   12382        22468 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   12383        22468 :           if (integer_all_onesp (captures[0])
   12384              : )
   12385              :             {
   12386         8579 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1990;
   12387         8579 :               {
   12388         8579 :                 tree _r;
   12389         8579 :                 _r = captures[1];
   12390         8579 :                 if (TREE_SIDE_EFFECTS (captures[0]))
   12391            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12392         8579 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12393            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12394         8579 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1123, __FILE__, __LINE__, true);
   12395              :                 return _r;
   12396              :               }
   12397            0 : next_after_fail1990:;
   12398              :             }
   12399              :           else
   12400              :             {
   12401        13889 :               if (integer_zerop (captures[0])
   12402              : )
   12403              :                 {
   12404         2162 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1991;
   12405         2162 :                   {
   12406         2162 :                     tree _r;
   12407         2162 :                     _r = captures[2];
   12408         2162 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   12409            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12410         2162 :                     if (TREE_SIDE_EFFECTS (captures[1]))
   12411            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12412         2162 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1124, __FILE__, __LINE__, true);
   12413              :                     return _r;
   12414              :                   }
   12415            0 : next_after_fail1991:;
   12416              :                 }
   12417              :             }
   12418              :         }
   12419              :         break;
   12420              :       }
   12421       454600 :     default:;
   12422              :     }
   12423       454600 :   switch (TREE_CODE (_p1))
   12424              :     {
   12425       379625 :     case VECTOR_CST:
   12426       379625 :       {
   12427       379625 :         switch (TREE_CODE (_p2))
   12428              :           {
   12429       365943 :           case VECTOR_CST:
   12430       365943 :             {
   12431       365943 :               {
   12432       365943 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   12433       365943 :                 if (VECTOR_BOOLEAN_TYPE_P (type)
   12434       366084 :  && types_match (type, TREE_TYPE (captures[0]))
   12435              : )
   12436              :                   {
   12437          131 :                     if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
   12438              : )
   12439              :                       {
   12440           28 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1992;
   12441           28 :                         {
   12442           28 :                           tree res_op0;
   12443           28 :                           res_op0 = captures[0];
   12444           28 :                           tree _r;
   12445           28 :                           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
   12446           28 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   12447            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12448           28 :                           if (TREE_SIDE_EFFECTS (captures[2]))
   12449            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12450           28 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1125, __FILE__, __LINE__, true);
   12451              :                           return _r;
   12452              :                         }
   12453            0 : next_after_fail1992:;
   12454              :                       }
   12455              :                     else
   12456              :                       {
   12457          103 :                         if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
   12458              : )
   12459              :                           {
   12460           73 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1993;
   12461           73 :                             {
   12462           73 :                               tree _r;
   12463           73 :                               _r = captures[0];
   12464           73 :                               if (TREE_SIDE_EFFECTS (captures[1]))
   12465            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12466           73 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   12467            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12468           73 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1126, __FILE__, __LINE__, true);
   12469              :                               return _r;
   12470              :                             }
   12471            0 : next_after_fail1993:;
   12472              :                           }
   12473              :                       }
   12474              :                   }
   12475              :               }
   12476              :               break;
   12477              :             }
   12478              :           default:;
   12479              :           }
   12480              :         break;
   12481              :       }
   12482       454499 :     default:;
   12483              :     }
   12484       454499 :   switch (TREE_CODE (_p0))
   12485              :     {
   12486         1411 :     case NE_EXPR:
   12487         1411 :       {
   12488         1411 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12489         1411 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12490         1411 :         switch (TREE_CODE (_p1))
   12491              :           {
   12492            6 :           case MINUS_EXPR:
   12493            6 :             {
   12494            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12495            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12496            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12497              :                 {
   12498            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12499              :                     {
   12500            6 :                       if (integer_zerop (_p2))
   12501              :                         {
   12502            6 :                           {
   12503            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12504            6 :                             tree res = generic_simplify_570 (loc, type, _p0, _p1, _p2, captures, MINUS_EXPR);
   12505            6 :                             if (res) return res;
   12506              :                           }
   12507              :                         }
   12508              :                     }
   12509              :                 }
   12510            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12511              :                 {
   12512            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12513              :                     {
   12514            0 :                       if (integer_zerop (_p2))
   12515              :                         {
   12516            0 :                           {
   12517            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12518            0 :                             tree res = generic_simplify_570 (loc, type, _p0, _p1, _p2, captures, MINUS_EXPR);
   12519            0 :                             if (res) return res;
   12520              :                           }
   12521              :                         }
   12522              :                     }
   12523              :                 }
   12524              :               break;
   12525              :             }
   12526            6 :           case BIT_XOR_EXPR:
   12527            6 :             {
   12528            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12529            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12530            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12531              :                 {
   12532            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12533              :                     {
   12534            6 :                       if (integer_zerop (_p2))
   12535              :                         {
   12536            6 :                           {
   12537            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12538            6 :                             tree res = generic_simplify_570 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   12539            6 :                             if (res) return res;
   12540              :                           }
   12541              :                         }
   12542              :                     }
   12543              :                 }
   12544            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12545              :                 {
   12546            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12547              :                     {
   12548            0 :                       if (integer_zerop (_p2))
   12549              :                         {
   12550            0 :                           {
   12551            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12552            0 :                             tree res = generic_simplify_570 (loc, type, _p0, _p1, _p2, captures, BIT_XOR_EXPR);
   12553            0 :                             if (res) return res;
   12554              :                           }
   12555              :                         }
   12556              :                     }
   12557              :                 }
   12558              :               break;
   12559              :             }
   12560            6 :           case BIT_AND_EXPR:
   12561            6 :             {
   12562            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12563            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12564            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12565              :                 {
   12566            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12567              :                     {
   12568            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12569              :                         {
   12570            6 :                           {
   12571            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12572            6 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   12573            6 :                             if (res) return res;
   12574              :                           }
   12575              :                         }
   12576            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12577              :                         {
   12578            0 :                           {
   12579            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12580            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   12581            0 :                             if (res) return res;
   12582              :                           }
   12583              :                         }
   12584              :                     }
   12585              :                 }
   12586            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12587              :                 {
   12588            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12589              :                     {
   12590            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12591              :                         {
   12592            0 :                           {
   12593            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12594            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   12595            0 :                             if (res) return res;
   12596              :                           }
   12597              :                         }
   12598            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12599              :                         {
   12600            0 :                           {
   12601            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12602            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   12603            0 :                             if (res) return res;
   12604              :                           }
   12605              :                         }
   12606              :                     }
   12607              :                 }
   12608              :               break;
   12609              :             }
   12610            6 :           case BIT_IOR_EXPR:
   12611            6 :             {
   12612            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12613            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12614            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12615              :                 {
   12616            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12617              :                     {
   12618            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12619              :                         {
   12620            6 :                           {
   12621            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12622            6 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   12623            6 :                             if (res) return res;
   12624              :                           }
   12625              :                         }
   12626            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12627              :                         {
   12628            0 :                           {
   12629            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12630            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   12631            0 :                             if (res) return res;
   12632              :                           }
   12633              :                         }
   12634              :                     }
   12635              :                 }
   12636            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12637              :                 {
   12638            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12639              :                     {
   12640            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12641              :                         {
   12642            0 :                           {
   12643            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12644            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   12645            0 :                             if (res) return res;
   12646              :                           }
   12647              :                         }
   12648            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12649              :                         {
   12650            0 :                           {
   12651            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12652            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   12653            0 :                             if (res) return res;
   12654              :                           }
   12655              :                         }
   12656              :                     }
   12657              :                 }
   12658              :               break;
   12659              :             }
   12660            0 :           case MIN_EXPR:
   12661            0 :             {
   12662            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12663            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12664            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12665              :                 {
   12666            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12667              :                     {
   12668            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12669              :                         {
   12670            0 :                           {
   12671            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12672            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   12673            0 :                             if (res) return res;
   12674              :                           }
   12675              :                         }
   12676            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12677              :                         {
   12678            0 :                           {
   12679            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12680            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   12681            0 :                             if (res) return res;
   12682              :                           }
   12683              :                         }
   12684              :                     }
   12685              :                 }
   12686            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12687              :                 {
   12688            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12689              :                     {
   12690            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12691              :                         {
   12692            0 :                           {
   12693            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12694            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   12695            0 :                             if (res) return res;
   12696              :                           }
   12697              :                         }
   12698            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12699              :                         {
   12700            0 :                           {
   12701            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12702            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   12703            0 :                             if (res) return res;
   12704              :                           }
   12705              :                         }
   12706              :                     }
   12707              :                 }
   12708              :               break;
   12709              :             }
   12710            0 :           case MAX_EXPR:
   12711            0 :             {
   12712            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12713            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12714            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12715              :                 {
   12716            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12717              :                     {
   12718            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12719              :                         {
   12720            0 :                           {
   12721            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12722            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   12723            0 :                             if (res) return res;
   12724              :                           }
   12725              :                         }
   12726            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12727              :                         {
   12728            0 :                           {
   12729            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12730            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   12731            0 :                             if (res) return res;
   12732              :                           }
   12733              :                         }
   12734              :                     }
   12735              :                 }
   12736            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12737              :                 {
   12738            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12739              :                     {
   12740            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12741              :                         {
   12742            0 :                           {
   12743            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12744            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   12745            0 :                             if (res) return res;
   12746              :                           }
   12747              :                         }
   12748            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12749              :                         {
   12750            0 :                           {
   12751            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12752            0 :                             tree res = generic_simplify_571 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   12753            0 :                             if (res) return res;
   12754              :                           }
   12755              :                         }
   12756              :                     }
   12757              :                 }
   12758              :               break;
   12759              :             }
   12760            6 :           case MULT_EXPR:
   12761            6 :             {
   12762            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12763            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12764            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12765              :                 {
   12766            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12767              :                     {
   12768            6 :                       switch (TREE_CODE (_p2))
   12769              :                         {
   12770            6 :                         case MULT_EXPR:
   12771            6 :                           {
   12772            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12773            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12774            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   12775              :                               {
   12776            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   12777              :                                   {
   12778            6 :                                     {
   12779            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12780            6 :                                       const enum tree_code op = MULT_EXPR;
   12781            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   12782              : )
   12783              :                                         {
   12784            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1994;
   12785            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1994;
   12786            6 :                                           {
   12787            6 :                                             tree _r;
   12788            6 :                                             _r = captures[2];
   12789            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   12790              :                                             return _r;
   12791              :                                           }
   12792            0 : next_after_fail1994:;
   12793              :                                         }
   12794              :                                     }
   12795              :                                   }
   12796              :                               }
   12797              :                             break;
   12798              :                           }
   12799              :                         default:;
   12800              :                         }
   12801              :                     }
   12802              :                 }
   12803            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12804              :                 {
   12805            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12806              :                     {
   12807            0 :                       switch (TREE_CODE (_p2))
   12808              :                         {
   12809            0 :                         case MULT_EXPR:
   12810            0 :                           {
   12811            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12812            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12813            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12814              :                               {
   12815            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   12816              :                                   {
   12817            0 :                                     {
   12818            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12819            0 :                                       const enum tree_code op = MULT_EXPR;
   12820            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   12821              : )
   12822              :                                         {
   12823            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1995;
   12824            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1995;
   12825            0 :                                           {
   12826            0 :                                             tree _r;
   12827            0 :                                             _r = captures[2];
   12828            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   12829              :                                             return _r;
   12830              :                                           }
   12831       454457 : next_after_fail1995:;
   12832              :                                         }
   12833              :                                     }
   12834              :                                   }
   12835              :                               }
   12836              :                             break;
   12837              :                           }
   12838              :                         default:;
   12839              :                         }
   12840              :                     }
   12841              :                 }
   12842              :               break;
   12843              :             }
   12844           35 :           case PLUS_EXPR:
   12845           35 :             {
   12846           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12847           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12848           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12849              :                 {
   12850           24 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12851              :                     {
   12852           12 :                       switch (TREE_CODE (_p2))
   12853              :                         {
   12854            6 :                         case PLUS_EXPR:
   12855            6 :                           {
   12856            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12857            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12858            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   12859              :                               {
   12860            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   12861              :                                   {
   12862            6 :                                     {
   12863            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12864            6 :                                       const enum tree_code op = PLUS_EXPR;
   12865            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   12866              : )
   12867              :                                         {
   12868            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1996;
   12869            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1996;
   12870            6 :                                           {
   12871            6 :                                             tree _r;
   12872            6 :                                             _r = captures[2];
   12873            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   12874              :                                             return _r;
   12875              :                                           }
   12876           23 : next_after_fail1996:;
   12877              :                                         }
   12878              :                                     }
   12879              :                                   }
   12880              :                               }
   12881              :                             break;
   12882              :                           }
   12883            6 :                         case MULT_EXPR:
   12884            6 :                           {
   12885            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12886            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12887            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   12888              :                               {
   12889            6 :                                 if (uniform_integer_cst_p (_q81))
   12890              :                                   {
   12891            6 :                                     {
   12892            6 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   12893            6 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   12894              : )
   12895              :                                         {
   12896            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1997;
   12897            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1997;
   12898            6 :                                           {
   12899            6 :                                             tree _r;
   12900            6 :                                             _r = captures[2];
   12901            6 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12902            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12903            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   12904              :                                             return _r;
   12905              :                                           }
   12906            0 : next_after_fail1997:;
   12907              :                                         }
   12908              :                                     }
   12909              :                                   }
   12910              :                               }
   12911            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12912              :                               {
   12913            0 :                                 if (uniform_integer_cst_p (_q81))
   12914              :                                   {
   12915            0 :                                     {
   12916            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   12917            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   12918              : )
   12919              :                                         {
   12920            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1998;
   12921            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1998;
   12922            0 :                                           {
   12923            0 :                                             tree _r;
   12924            0 :                                             _r = captures[2];
   12925            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12926            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12927            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   12928              :                                             return _r;
   12929              :                                           }
   12930           23 : next_after_fail1998:;
   12931              :                                         }
   12932              :                                     }
   12933              :                                   }
   12934              :                               }
   12935              :                             break;
   12936              :                           }
   12937              :                         default:;
   12938              :                         }
   12939              :                     }
   12940              :                 }
   12941           23 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12942              :                 {
   12943            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12944              :                     {
   12945            0 :                       switch (TREE_CODE (_p2))
   12946              :                         {
   12947            0 :                         case PLUS_EXPR:
   12948            0 :                           {
   12949            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12950            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12951            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12952              :                               {
   12953            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   12954              :                                   {
   12955            0 :                                     {
   12956            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12957            0 :                                       const enum tree_code op = PLUS_EXPR;
   12958            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   12959              : )
   12960              :                                         {
   12961            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1999;
   12962            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1999;
   12963            0 :                                           {
   12964            0 :                                             tree _r;
   12965            0 :                                             _r = captures[2];
   12966            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   12967              :                                             return _r;
   12968              :                                           }
   12969       454457 : next_after_fail1999:;
   12970              :                                         }
   12971              :                                     }
   12972              :                                   }
   12973              :                               }
   12974              :                             break;
   12975              :                           }
   12976            0 :                         case MULT_EXPR:
   12977            0 :                           {
   12978            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12979            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12980            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   12981              :                               {
   12982            0 :                                 if (uniform_integer_cst_p (_q81))
   12983              :                                   {
   12984            0 :                                     {
   12985            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   12986            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   12987              : )
   12988              :                                         {
   12989            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2000;
   12990            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2000;
   12991            0 :                                           {
   12992            0 :                                             tree _r;
   12993            0 :                                             _r = captures[2];
   12994            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12995            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12996            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   12997              :                                             return _r;
   12998              :                                           }
   12999            0 : next_after_fail2000:;
   13000              :                                         }
   13001              :                                     }
   13002              :                                   }
   13003              :                               }
   13004            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   13005              :                               {
   13006            0 :                                 if (uniform_integer_cst_p (_q81))
   13007              :                                   {
   13008            0 :                                     {
   13009            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   13010            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   13011              : )
   13012              :                                         {
   13013            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2001;
   13014            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2001;
   13015            0 :                                           {
   13016            0 :                                             tree _r;
   13017            0 :                                             _r = captures[2];
   13018            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   13019            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   13020            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1088, __FILE__, __LINE__, true);
   13021              :                                             return _r;
   13022              :                                           }
   13023       454457 : next_after_fail2001:;
   13024              :                                         }
   13025              :                                     }
   13026              :                                   }
   13027              :                               }
   13028              :                             break;
   13029              :                           }
   13030              :                         default:;
   13031              :                         }
   13032              :                     }
   13033              :                 }
   13034              :               break;
   13035              :             }
   13036              :           default:;
   13037              :           }
   13038              :         break;
   13039              :       }
   13040       454457 :     default:;
   13041              :     }
   13042       454457 :   switch (TREE_CODE (_p1))
   13043              :     {
   13044            6 :     case VEC_COND_EXPR:
   13045            6 :       {
   13046            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   13047            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   13048            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   13049            6 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   13050              :           {
   13051            0 :             {
   13052            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   13053            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2002;
   13054            0 :               {
   13055            0 :                 tree res_op0;
   13056            0 :                 res_op0 = captures[0];
   13057            0 :                 tree res_op1;
   13058            0 :                 res_op1 = captures[1];
   13059            0 :                 tree res_op2;
   13060            0 :                 res_op2 = captures[3];
   13061            0 :                 tree _r;
   13062            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13063            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   13064            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13065            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1096, __FILE__, __LINE__, true);
   13066              :                 return _r;
   13067              :               }
   13068            0 : next_after_fail2002:;
   13069              :             }
   13070              :           }
   13071              :         break;
   13072              :       }
   13073       454457 :     default:;
   13074              :     }
   13075       454457 :   switch (TREE_CODE (_p2))
   13076              :     {
   13077            3 :     case VEC_COND_EXPR:
   13078            3 :       {
   13079            3 :         tree _q40 = TREE_OPERAND (_p2, 0);
   13080            3 :         tree _q41 = TREE_OPERAND (_p2, 1);
   13081            3 :         tree _q42 = TREE_OPERAND (_p2, 2);
   13082            3 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13083              :           {
   13084            0 :             {
   13085            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   13086            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2003;
   13087            0 :               {
   13088            0 :                 tree res_op0;
   13089            0 :                 res_op0 = captures[0];
   13090            0 :                 tree res_op1;
   13091            0 :                 res_op1 = captures[1];
   13092            0 :                 tree res_op2;
   13093            0 :                 res_op2 = captures[3];
   13094            0 :                 tree _r;
   13095            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13096            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   13097            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13098            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1097, __FILE__, __LINE__, true);
   13099              :                 return _r;
   13100              :               }
   13101            0 : next_after_fail2003:;
   13102              :             }
   13103              :           }
   13104            3 :         {
   13105            3 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   13106            3 :           if (inverse_conditions_p (captures[0], captures[2])
   13107              : )
   13108              :             {
   13109            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2004;
   13110            0 :               {
   13111            0 :                 tree res_op0;
   13112            0 :                 res_op0 = captures[0];
   13113            0 :                 tree res_op1;
   13114            0 :                 res_op1 = captures[1];
   13115            0 :                 tree res_op2;
   13116            0 :                 res_op2 = captures[3];
   13117            0 :                 tree _r;
   13118            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13119            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   13120            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13121            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
   13122            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   13123            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1098, __FILE__, __LINE__, true);
   13124              :                 return _r;
   13125              :               }
   13126            0 : next_after_fail2004:;
   13127              :             }
   13128              :         }
   13129              :         break;
   13130              :       }
   13131       454457 :     default:;
   13132              :     }
   13133       454457 :   switch (TREE_CODE (_p1))
   13134              :     {
   13135            6 :     case VEC_COND_EXPR:
   13136            6 :       {
   13137            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   13138            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   13139            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   13140            6 :         {
   13141            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   13142            6 :           if (inverse_conditions_p (captures[0], captures[1])
   13143              : )
   13144              :             {
   13145            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2005;
   13146            0 :               {
   13147            0 :                 tree res_op0;
   13148            0 :                 res_op0 = captures[0];
   13149            0 :                 tree res_op1;
   13150            0 :                 res_op1 = captures[3];
   13151            0 :                 tree res_op2;
   13152            0 :                 res_op2 = captures[4];
   13153            0 :                 tree _r;
   13154            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13155            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
   13156            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   13157            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   13158            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13159            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1099, __FILE__, __LINE__, true);
   13160              :                 return _r;
   13161              :               }
   13162            0 : next_after_fail2005:;
   13163              :             }
   13164              :         }
   13165              :         break;
   13166              :       }
   13167       454457 :     default:;
   13168              :     }
   13169       454457 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   13170              :     {
   13171           36 :       {
   13172           36 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   13173           36 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2006;
   13174           36 :         {
   13175           36 :           tree _r;
   13176           36 :           _r = captures[1];
   13177           36 :           if (TREE_SIDE_EFFECTS (captures[0]))
   13178            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   13179           36 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1100, __FILE__, __LINE__, true);
   13180              :           return _r;
   13181              :         }
   13182            0 : next_after_fail2006:;
   13183              :       }
   13184              :     }
   13185       454421 :   switch (TREE_CODE (_p0))
   13186              :     {
   13187        68053 :     case EQ_EXPR:
   13188        68053 :       {
   13189        68053 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13190        68053 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13191        68053 :         if (CONSTANT_CLASS_P (_q21))
   13192              :           {
   13193         1673 :             {
   13194         1673 :               tree _p1_pops[1];
   13195         1673 :               if (tree_nop_convert (_p1, _p1_pops))
   13196              :                 {
   13197            0 :                   tree _q50 = _p1_pops[0];
   13198            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   13199              :                     {
   13200            0 :                       if (CONSTANT_CLASS_P (_p2))
   13201              :                         {
   13202            0 :                           {
   13203            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13204            0 :                             if (ANY_INTEGRAL_TYPE_P (type)
   13205            0 :  && operand_equal_p (captures[1], captures[2])
   13206              : )
   13207              :                               {
   13208            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2007;
   13209            0 :                                 {
   13210            0 :                                   tree res_op0;
   13211            0 :                                   res_op0 = captures[1];
   13212            0 :                                   tree _r;
   13213            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13214            0 :                                   if (TREE_SIDE_EFFECTS (captures[0]))
   13215            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   13216            0 :                                   if (TREE_SIDE_EFFECTS (captures[2]))
   13217            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13218            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1101, __FILE__, __LINE__, true);
   13219            0 :                                   return _r;
   13220              :                                 }
   13221            0 : next_after_fail2007:;
   13222              :                               }
   13223              :                           }
   13224              :                         }
   13225              :                     }
   13226              :                 }
   13227              :             }
   13228         1673 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13229              :               {
   13230            0 :                 if (CONSTANT_CLASS_P (_p2))
   13231              :                   {
   13232            0 :                     {
   13233            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   13234            0 :                       if (ANY_INTEGRAL_TYPE_P (type)
   13235            0 :  && operand_equal_p (captures[1], captures[2])
   13236              : )
   13237              :                         {
   13238            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2008;
   13239            0 :                           {
   13240            0 :                             tree res_op0;
   13241            0 :                             res_op0 = captures[1];
   13242            0 :                             tree _r;
   13243            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13244            0 :                             if (TREE_SIDE_EFFECTS (captures[0]))
   13245            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   13246            0 :                             if (TREE_SIDE_EFFECTS (captures[2]))
   13247            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13248            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1101, __FILE__, __LINE__, true);
   13249              :                             return _r;
   13250              :                           }
   13251            0 : next_after_fail2008:;
   13252              :                         }
   13253              :                     }
   13254              :                   }
   13255              :               }
   13256              :           }
   13257        68053 :         if (zerop (_q21))
   13258              :           {
   13259         1603 :             switch (TREE_CODE (_p2))
   13260              :               {
   13261            0 :               case NEGATE_EXPR:
   13262            0 :                 {
   13263            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13264            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13265              :                     {
   13266            0 :                       {
   13267            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13268            0 :                         const enum tree_code cmp = EQ_EXPR;
   13269            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13270            0 :  && bitwise_equal_p (captures[0], captures[1])
   13271              : )
   13272              :                           {
   13273            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2009;
   13274            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail2009;
   13275            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2009;
   13276            0 :                             {
   13277            0 :                               tree _r;
   13278            0 :                               _r = captures[2];
   13279            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1102, __FILE__, __LINE__, true);
   13280              :                               return _r;
   13281              :                             }
   13282         1603 : next_after_fail2009:;
   13283              :                           }
   13284              :                       }
   13285              :                     }
   13286              :                   break;
   13287              :                 }
   13288         1603 :               default:;
   13289              :               }
   13290         1603 :             if (zerop (_p1))
   13291              :               {
   13292           18 :                 switch (TREE_CODE (_p2))
   13293              :                   {
   13294            0 :                   case NEGATE_EXPR:
   13295            0 :                     {
   13296            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13297            0 :                       {
   13298            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   13299            0 :                         const enum tree_code cmp = EQ_EXPR;
   13300            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13301            0 :  && bitwise_equal_p (captures[0], captures[2])
   13302              : )
   13303              :                           {
   13304            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2010;
   13305            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2010;
   13306            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail2010;
   13307            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2010;
   13308            0 :                             {
   13309            0 :                               tree _r;
   13310            0 :                               _r = captures[1];
   13311            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1103, __FILE__, __LINE__, true);
   13312              :                               return _r;
   13313              :                             }
   13314        68053 : next_after_fail2010:;
   13315              :                           }
   13316              :                       }
   13317              :                       break;
   13318              :                     }
   13319              :                   default:;
   13320              :                   }
   13321              :               }
   13322              :           }
   13323        68053 :         switch (TREE_CODE (_q20))
   13324              :           {
   13325            0 :           case MINUS_EXPR:
   13326            0 :             {
   13327            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13328            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13329            0 :               if (zerop (_q21))
   13330              :                 {
   13331            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13332              :                     {
   13333            0 :                       switch (TREE_CODE (_p2))
   13334              :                         {
   13335            0 :                         case MINUS_EXPR:
   13336            0 :                           {
   13337            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13338            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13339            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13340              :                               {
   13341            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13342              :                                   {
   13343            0 :                                     {
   13344            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   13345            0 :                                       const enum tree_code cmp = EQ_EXPR;
   13346            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13347              : )
   13348              :                                         {
   13349            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2011;
   13350            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail2011;
   13351            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2011;
   13352            0 :                                           {
   13353            0 :                                             tree _r;
   13354            0 :                                             _r = captures[3];
   13355            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1104, __FILE__, __LINE__, true);
   13356              :                                             return _r;
   13357              :                                           }
   13358            0 : next_after_fail2011:;
   13359              :                                         }
   13360              :                                     }
   13361              :                                   }
   13362              :                               }
   13363              :                             break;
   13364              :                           }
   13365              :                         default:;
   13366              :                         }
   13367              :                     }
   13368              :                 }
   13369            0 :               if (integer_zerop (_q21))
   13370              :                 {
   13371            0 :                   if (integer_zerop (_p1))
   13372              :                     {
   13373            0 :                       switch (TREE_CODE (_p2))
   13374              :                         {
   13375            0 :                         case MINUS_EXPR:
   13376            0 :                           {
   13377            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13378            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13379            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13380              :                               {
   13381            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13382              :                                   {
   13383            0 :                                     {
   13384            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   13385            0 :                                       tree res = generic_simplify_572 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   13386            0 :                                       if (res) return res;
   13387              :                                     }
   13388              :                                   }
   13389              :                               }
   13390              :                             break;
   13391              :                           }
   13392              :                         default:;
   13393              :                         }
   13394              :                     }
   13395              :                 }
   13396              :               break;
   13397              :             }
   13398              :           default:;
   13399              :           }
   13400              :         break;
   13401              :       }
   13402         1369 :     case NE_EXPR:
   13403         1369 :       {
   13404         1369 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13405         1369 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13406         1369 :         if (CONSTANT_CLASS_P (_q21))
   13407              :           {
   13408          471 :             if (CONSTANT_CLASS_P (_p1))
   13409              :               {
   13410          272 :                 {
   13411          272 :                   tree _p2_pops[1];
   13412          272 :                   if (tree_nop_convert (_p2, _p2_pops))
   13413              :                     {
   13414            0 :                       tree _q60 = _p2_pops[0];
   13415            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13416              :                         {
   13417            0 :                           {
   13418            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   13419            0 :                             if (ANY_INTEGRAL_TYPE_P (type)
   13420            0 :  && operand_equal_p (captures[1], captures[2])
   13421              : )
   13422              :                               {
   13423            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2012;
   13424            0 :                                 {
   13425            0 :                                   tree res_op0;
   13426            0 :                                   res_op0 = captures[1];
   13427            0 :                                   tree _r;
   13428            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13429            0 :                                   if (TREE_SIDE_EFFECTS (captures[0]))
   13430            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   13431            0 :                                   if (TREE_SIDE_EFFECTS (captures[2]))
   13432            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13433            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1105, __FILE__, __LINE__, true);
   13434            0 :                                   return _r;
   13435              :                                 }
   13436            0 : next_after_fail2012:;
   13437              :                               }
   13438              :                           }
   13439              :                         }
   13440              :                     }
   13441              :                 }
   13442          272 :                 if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   13443              :                   {
   13444            0 :                     {
   13445            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   13446            0 :                       if (ANY_INTEGRAL_TYPE_P (type)
   13447            0 :  && operand_equal_p (captures[1], captures[2])
   13448              : )
   13449              :                         {
   13450            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2013;
   13451            0 :                           {
   13452            0 :                             tree res_op0;
   13453            0 :                             res_op0 = captures[1];
   13454            0 :                             tree _r;
   13455            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13456            0 :                             if (TREE_SIDE_EFFECTS (captures[0]))
   13457            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   13458            0 :                             if (TREE_SIDE_EFFECTS (captures[2]))
   13459            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13460            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1105, __FILE__, __LINE__, true);
   13461              :                             return _r;
   13462              :                           }
   13463            0 : next_after_fail2013:;
   13464              :                         }
   13465              :                     }
   13466              :                   }
   13467              :               }
   13468              :           }
   13469         1369 :         if (zerop (_q21))
   13470              :           {
   13471          389 :             switch (TREE_CODE (_p2))
   13472              :               {
   13473            0 :               case NEGATE_EXPR:
   13474            0 :                 {
   13475            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13476            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13477              :                     {
   13478            0 :                       {
   13479            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13480            0 :                         const enum tree_code cmp = NE_EXPR;
   13481            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13482            0 :  && bitwise_equal_p (captures[0], captures[1])
   13483              : )
   13484              :                           {
   13485            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2014;
   13486            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2014;
   13487            0 :                             {
   13488            0 :                               tree _r;
   13489            0 :                               _r = captures[1];
   13490            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1106, __FILE__, __LINE__, true);
   13491              :                               return _r;
   13492              :                             }
   13493          389 : next_after_fail2014:;
   13494              :                           }
   13495              :                       }
   13496              :                     }
   13497              :                   break;
   13498              :                 }
   13499          389 :               default:;
   13500              :               }
   13501          389 :           if (integer_zerop (_p2))
   13502              :             {
   13503          196 :               {
   13504          196 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13505          196 :                 const enum tree_code cmp = NE_EXPR;
   13506          196 :                 if (!HONOR_SIGNED_ZEROS (type)
   13507          196 :  && bitwise_equal_p (captures[0], captures[1])
   13508              : )
   13509              :                   {
   13510            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2015;
   13511            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail2015;
   13512            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2015;
   13513            0 :                     {
   13514            0 :                       tree _r;
   13515            0 :                       _r = captures[1];
   13516            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1107, __FILE__, __LINE__, true);
   13517              :                       return _r;
   13518              :                     }
   13519         1369 : next_after_fail2015:;
   13520              :                   }
   13521              :               }
   13522              :             }
   13523              :           }
   13524         1369 :         switch (TREE_CODE (_q20))
   13525              :           {
   13526           40 :           case MINUS_EXPR:
   13527           40 :             {
   13528           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13529           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13530           40 :               if (zerop (_q21))
   13531              :                 {
   13532            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13533              :                     {
   13534            0 :                       switch (TREE_CODE (_p2))
   13535              :                         {
   13536            0 :                         case MINUS_EXPR:
   13537            0 :                           {
   13538            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13539            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13540            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13541              :                               {
   13542            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13543              :                                   {
   13544            0 :                                     {
   13545            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13546            0 :                                       const enum tree_code cmp = NE_EXPR;
   13547            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13548              : )
   13549              :                                         {
   13550            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2016;
   13551            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2016;
   13552            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2016;
   13553            0 :                                           {
   13554            0 :                                             tree _r;
   13555            0 :                                             _r = captures[0];
   13556            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1108, __FILE__, __LINE__, true);
   13557              :                                             return _r;
   13558              :                                           }
   13559           40 : next_after_fail2016:;
   13560              :                                         }
   13561              :                                     }
   13562              :                                   }
   13563              :                               }
   13564              :                             break;
   13565              :                           }
   13566              :                         default:;
   13567              :                         }
   13568              :                     }
   13569              :                 }
   13570           40 :               if (integer_zerop (_q21))
   13571              :                 {
   13572            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13573              :                     {
   13574            0 :                       if (integer_zerop (_p2))
   13575              :                         {
   13576            0 :                           {
   13577            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13578            0 :                             tree res = generic_simplify_573 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   13579            0 :                             if (res) return res;
   13580              :                           }
   13581              :                         }
   13582              :                     }
   13583              :                 }
   13584              :               break;
   13585              :             }
   13586              :           default:;
   13587              :           }
   13588              :         break;
   13589              :       }
   13590            0 :     case UNEQ_EXPR:
   13591            0 :       {
   13592            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13593            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13594            0 :         if (zerop (_q21))
   13595              :           {
   13596            0 :             switch (TREE_CODE (_p2))
   13597              :               {
   13598            0 :               case NEGATE_EXPR:
   13599            0 :                 {
   13600            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13601            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13602              :                     {
   13603            0 :                       {
   13604            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13605            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   13606            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13607            0 :  && bitwise_equal_p (captures[0], captures[1])
   13608              : )
   13609              :                           {
   13610            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2017;
   13611            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail2017;
   13612            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2017;
   13613            0 :                             {
   13614            0 :                               tree _r;
   13615            0 :                               _r = captures[2];
   13616            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1102, __FILE__, __LINE__, true);
   13617              :                               return _r;
   13618              :                             }
   13619            0 : next_after_fail2017:;
   13620              :                           }
   13621              :                       }
   13622              :                     }
   13623              :                   break;
   13624              :                 }
   13625            0 :               default:;
   13626              :               }
   13627            0 :             if (zerop (_p1))
   13628              :               {
   13629            0 :                 switch (TREE_CODE (_p2))
   13630              :                   {
   13631            0 :                   case NEGATE_EXPR:
   13632            0 :                     {
   13633            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13634            0 :                       {
   13635            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   13636            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   13637            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13638            0 :  && bitwise_equal_p (captures[0], captures[2])
   13639              : )
   13640              :                           {
   13641            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2018;
   13642            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2018;
   13643            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail2018;
   13644            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2018;
   13645            0 :                             {
   13646            0 :                               tree _r;
   13647            0 :                               _r = captures[1];
   13648            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1103, __FILE__, __LINE__, true);
   13649              :                               return _r;
   13650              :                             }
   13651            0 : next_after_fail2018:;
   13652              :                           }
   13653              :                       }
   13654              :                       break;
   13655              :                     }
   13656              :                   default:;
   13657              :                   }
   13658              :               }
   13659              :           }
   13660            0 :         switch (TREE_CODE (_q20))
   13661              :           {
   13662            0 :           case MINUS_EXPR:
   13663            0 :             {
   13664            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13665            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13666            0 :               if (zerop (_q21))
   13667              :                 {
   13668            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13669              :                     {
   13670            0 :                       switch (TREE_CODE (_p2))
   13671              :                         {
   13672            0 :                         case MINUS_EXPR:
   13673            0 :                           {
   13674            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13675            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13676            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13677              :                               {
   13678            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13679              :                                   {
   13680            0 :                                     {
   13681            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   13682            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   13683            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13684              : )
   13685              :                                         {
   13686            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2019;
   13687            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail2019;
   13688            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2019;
   13689            0 :                                           {
   13690            0 :                                             tree _r;
   13691            0 :                                             _r = captures[3];
   13692            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1104, __FILE__, __LINE__, true);
   13693              :                                             return _r;
   13694              :                                           }
   13695            0 : next_after_fail2019:;
   13696              :                                         }
   13697              :                                     }
   13698              :                                   }
   13699              :                               }
   13700              :                             break;
   13701              :                           }
   13702              :                         default:;
   13703              :                         }
   13704              :                     }
   13705              :                 }
   13706            0 :               if (integer_zerop (_q21))
   13707              :                 {
   13708            0 :                   if (integer_zerop (_p1))
   13709              :                     {
   13710            0 :                       switch (TREE_CODE (_p2))
   13711              :                         {
   13712            0 :                         case MINUS_EXPR:
   13713            0 :                           {
   13714            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13715            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13716            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13717              :                               {
   13718            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13719              :                                   {
   13720            0 :                                     {
   13721            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   13722            0 :                                       tree res = generic_simplify_572 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   13723            0 :                                       if (res) return res;
   13724              :                                     }
   13725              :                                   }
   13726              :                               }
   13727              :                             break;
   13728              :                           }
   13729              :                         default:;
   13730              :                         }
   13731              :                     }
   13732              :                 }
   13733              :               break;
   13734              :             }
   13735              :           default:;
   13736              :           }
   13737              :         break;
   13738              :       }
   13739            0 :     case LTGT_EXPR:
   13740            0 :       {
   13741            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13742            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13743            0 :         if (zerop (_q21))
   13744              :           {
   13745            0 :             switch (TREE_CODE (_p2))
   13746              :               {
   13747            0 :               case NEGATE_EXPR:
   13748            0 :                 {
   13749            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13750            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13751              :                     {
   13752            0 :                       {
   13753            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13754            0 :                         const enum tree_code cmp = LTGT_EXPR;
   13755            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13756            0 :  && bitwise_equal_p (captures[0], captures[1])
   13757              : )
   13758              :                           {
   13759            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2020;
   13760            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2020;
   13761            0 :                             {
   13762            0 :                               tree _r;
   13763            0 :                               _r = captures[1];
   13764            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1106, __FILE__, __LINE__, true);
   13765              :                               return _r;
   13766              :                             }
   13767            0 : next_after_fail2020:;
   13768              :                           }
   13769              :                       }
   13770              :                     }
   13771              :                   break;
   13772              :                 }
   13773            0 :               default:;
   13774              :               }
   13775            0 :           if (integer_zerop (_p2))
   13776              :             {
   13777            0 :               {
   13778            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13779            0 :                 const enum tree_code cmp = LTGT_EXPR;
   13780            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   13781            0 :  && bitwise_equal_p (captures[0], captures[1])
   13782              : )
   13783              :                   {
   13784            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2021;
   13785            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail2021;
   13786            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2021;
   13787            0 :                     {
   13788            0 :                       tree _r;
   13789            0 :                       _r = captures[1];
   13790            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1107, __FILE__, __LINE__, true);
   13791              :                       return _r;
   13792              :                     }
   13793            0 : next_after_fail2021:;
   13794              :                   }
   13795              :               }
   13796              :             }
   13797              :           }
   13798            0 :         switch (TREE_CODE (_q20))
   13799              :           {
   13800            0 :           case MINUS_EXPR:
   13801            0 :             {
   13802            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13803            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13804            0 :               if (zerop (_q21))
   13805              :                 {
   13806            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13807              :                     {
   13808            0 :                       switch (TREE_CODE (_p2))
   13809              :                         {
   13810            0 :                         case MINUS_EXPR:
   13811            0 :                           {
   13812            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13813            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13814            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13815              :                               {
   13816            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13817              :                                   {
   13818            0 :                                     {
   13819            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13820            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   13821            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13822              : )
   13823              :                                         {
   13824            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2022;
   13825            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2022;
   13826            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2022;
   13827            0 :                                           {
   13828            0 :                                             tree _r;
   13829            0 :                                             _r = captures[0];
   13830            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1108, __FILE__, __LINE__, true);
   13831              :                                             return _r;
   13832              :                                           }
   13833            0 : next_after_fail2022:;
   13834              :                                         }
   13835              :                                     }
   13836              :                                   }
   13837              :                               }
   13838              :                             break;
   13839              :                           }
   13840              :                         default:;
   13841              :                         }
   13842              :                     }
   13843              :                 }
   13844            0 :               if (integer_zerop (_q21))
   13845              :                 {
   13846            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13847              :                     {
   13848            0 :                       if (integer_zerop (_p2))
   13849              :                         {
   13850            0 :                           {
   13851            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13852            0 :                             tree res = generic_simplify_573 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   13853            0 :                             if (res) return res;
   13854              :                           }
   13855              :                         }
   13856              :                     }
   13857              :                 }
   13858              :               break;
   13859              :             }
   13860              :           default:;
   13861              :           }
   13862              :         break;
   13863              :       }
   13864         1198 :     case GE_EXPR:
   13865         1198 :       {
   13866         1198 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13867         1198 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13868         1198 :         switch (TREE_CODE (_q20))
   13869              :           {
   13870            3 :           CASE_CONVERT:
   13871            3 :             {
   13872            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13873            3 :               if (zerop (_q21))
   13874              :                 {
   13875            0 :                   switch (TREE_CODE (_p2))
   13876              :                     {
   13877            0 :                     case NEGATE_EXPR:
   13878            0 :                       {
   13879            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13880            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13881              :                           {
   13882            0 :                             {
   13883            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13884            0 :                               const enum tree_code cmp = GE_EXPR;
   13885            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13886            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13887            0 :  && element_precision (captures[1])
   13888            0 :  <= element_precision (captures[0])
   13889            0 :  && bitwise_equal_p (captures[1], captures[2])
   13890            0 :  && (!VECTOR_TYPE_P (type)
   13891            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13892              : )
   13893              :                                 {
   13894            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13895              : )
   13896              :                                     {
   13897            0 :                                       {
   13898            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13899            0 :                                           if (types_match (captures[0], stype)
   13900              : )
   13901              :                                             {
   13902            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2023;
   13903            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2023;
   13904            0 :                                               {
   13905            0 :                                                 tree res_op0;
   13906            0 :                                                 res_op0 = captures[0];
   13907            0 :                                                 tree _r;
   13908            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13909            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13910            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13911            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   13912              :                                                 return _r;
   13913              :                                               }
   13914         1198 : next_after_fail2023:;
   13915              :                                             }
   13916              :                                           else
   13917              :                                             {
   13918            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2024;
   13919            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2024;
   13920            0 :                                               {
   13921            0 :                                                 tree res_op0;
   13922            0 :                                                 {
   13923            0 :                                                   tree _o1[1], _r1;
   13924            0 :                                                   _o1[0] = captures[2];
   13925            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   13926              :                                                     {
   13927            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13928              :                                                     }
   13929              :                                                   else
   13930              :                                                     _r1 = _o1[0];
   13931            0 :                                                   res_op0 = _r1;
   13932              :                                                 }
   13933            0 :                                                 tree _r;
   13934            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13935            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   13936              :                                                 return _r;
   13937              :                                               }
   13938         1198 : next_after_fail2024:;
   13939              :                                             }
   13940              :                                       }
   13941              :                                     }
   13942              :                                   else
   13943              :                                     {
   13944            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2025;
   13945            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2025;
   13946            0 :                                       {
   13947            0 :                                         tree res_op0;
   13948            0 :                                         res_op0 = captures[2];
   13949            0 :                                         tree _r;
   13950            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13951            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   13952              :                                         return _r;
   13953              :                                       }
   13954         1198 : next_after_fail2025:;
   13955              :                                     }
   13956              :                                 }
   13957              :                             }
   13958              :                           }
   13959              :                         break;
   13960              :                       }
   13961              :                     default:;
   13962              :                     }
   13963              :                 }
   13964              :               break;
   13965              :             }
   13966         1198 :           default:;
   13967              :           }
   13968         1198 :         if (zerop (_q21))
   13969              :           {
   13970          350 :             switch (TREE_CODE (_p2))
   13971              :               {
   13972            3 :               case NEGATE_EXPR:
   13973            3 :                 {
   13974            3 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13975            3 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13976              :                     {
   13977            3 :                       {
   13978            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13979            3 :                         const enum tree_code cmp = GE_EXPR;
   13980            3 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13981            3 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13982            6 :  && element_precision (captures[1])
   13983            3 :  <= element_precision (captures[0])
   13984            3 :  && bitwise_equal_p (captures[1], captures[2])
   13985            6 :  && (!VECTOR_TYPE_P (type)
   13986            3 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13987              : )
   13988              :                           {
   13989            3 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13990              : )
   13991              :                               {
   13992            0 :                                 {
   13993            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13994            0 :                                     if (types_match (captures[0], stype)
   13995              : )
   13996              :                                       {
   13997            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2026;
   13998            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2026;
   13999            0 :                                         {
   14000            0 :                                           tree res_op0;
   14001            0 :                                           res_op0 = captures[0];
   14002            0 :                                           tree _r;
   14003            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   14004            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   14005            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14006            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   14007              :                                           return _r;
   14008              :                                         }
   14009         1195 : next_after_fail2026:;
   14010              :                                       }
   14011              :                                     else
   14012              :                                       {
   14013            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2027;
   14014            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2027;
   14015            0 :                                         {
   14016            0 :                                           tree res_op0;
   14017            0 :                                           {
   14018            0 :                                             tree _o1[1], _r1;
   14019            0 :                                             _o1[0] = captures[2];
   14020            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   14021              :                                               {
   14022            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   14023              :                                               }
   14024              :                                             else
   14025              :                                               _r1 = _o1[0];
   14026            0 :                                             res_op0 = _r1;
   14027              :                                           }
   14028            0 :                                           tree _r;
   14029            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   14030            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   14031              :                                           return _r;
   14032              :                                         }
   14033         1195 : next_after_fail2027:;
   14034              :                                       }
   14035              :                                 }
   14036              :                               }
   14037              :                             else
   14038              :                               {
   14039            3 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2028;
   14040            3 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2028;
   14041            3 :                                 {
   14042            3 :                                   tree res_op0;
   14043            3 :                                   res_op0 = captures[2];
   14044            3 :                                   tree _r;
   14045            3 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   14046            3 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   14047              :                                   return _r;
   14048              :                                 }
   14049         1195 : next_after_fail2028:;
   14050              :                               }
   14051              :                           }
   14052              :                       }
   14053              :                     }
   14054              :                   break;
   14055              :                 }
   14056              :               default:;
   14057              :               }
   14058              :           }
   14059         1195 :         switch (TREE_CODE (_q20))
   14060              :           {
   14061            0 :           case MINUS_EXPR:
   14062            0 :             {
   14063            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14064            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14065            0 :               if (zerop (_q21))
   14066              :                 {
   14067            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14068              :                     {
   14069            0 :                       switch (TREE_CODE (_p2))
   14070              :                         {
   14071            0 :                         case MINUS_EXPR:
   14072            0 :                           {
   14073            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   14074            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   14075            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   14076              :                               {
   14077            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   14078              :                                   {
   14079            0 :                                     {
   14080            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   14081            0 :                                       const enum tree_code cmp = GE_EXPR;
   14082            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   14083            0 :  && !TYPE_UNSIGNED (type)
   14084            0 :  && (!VECTOR_TYPE_P (type)
   14085            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   14086              : )
   14087              :                                         {
   14088            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2029;
   14089            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2029;
   14090            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2029;
   14091            0 :                                           {
   14092            0 :                                             tree res_op0;
   14093            0 :                                             res_op0 = captures[0];
   14094            0 :                                             tree _r;
   14095            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   14096            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
   14097              :                                             return _r;
   14098              :                                           }
   14099       454412 : next_after_fail2029:;
   14100              :                                         }
   14101              :                                     }
   14102              :                                   }
   14103              :                               }
   14104              :                             break;
   14105              :                           }
   14106              :                         default:;
   14107              :                         }
   14108              :                     }
   14109              :                 }
   14110              :               break;
   14111              :             }
   14112              :           default:;
   14113              :           }
   14114              :         break;
   14115              :       }
   14116        66687 :     case GT_EXPR:
   14117        66687 :       {
   14118        66687 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14119        66687 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14120        66687 :         switch (TREE_CODE (_q20))
   14121              :           {
   14122           13 :           CASE_CONVERT:
   14123           13 :             {
   14124           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14125           13 :               if (zerop (_q21))
   14126              :                 {
   14127            1 :                   switch (TREE_CODE (_p2))
   14128              :                     {
   14129            0 :                     case NEGATE_EXPR:
   14130            0 :                       {
   14131            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   14132            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   14133              :                           {
   14134            0 :                             {
   14135            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   14136            0 :                               const enum tree_code cmp = GT_EXPR;
   14137            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14138            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14139            0 :  && element_precision (captures[1])
   14140            0 :  <= element_precision (captures[0])
   14141            0 :  && bitwise_equal_p (captures[1], captures[2])
   14142            0 :  && (!VECTOR_TYPE_P (type)
   14143            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   14144              : )
   14145              :                                 {
   14146            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14147              : )
   14148              :                                     {
   14149            0 :                                       {
   14150            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14151            0 :                                           if (types_match (captures[0], stype)
   14152              : )
   14153              :                                             {
   14154            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2030;
   14155            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2030;
   14156            0 :                                               {
   14157            0 :                                                 tree res_op0;
   14158            0 :                                                 res_op0 = captures[0];
   14159            0 :                                                 tree _r;
   14160            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   14161            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   14162            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14163            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   14164              :                                                 return _r;
   14165              :                                               }
   14166        66687 : next_after_fail2030:;
   14167              :                                             }
   14168              :                                           else
   14169              :                                             {
   14170            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2031;
   14171            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2031;
   14172            0 :                                               {
   14173            0 :                                                 tree res_op0;
   14174            0 :                                                 {
   14175            0 :                                                   tree _o1[1], _r1;
   14176            0 :                                                   _o1[0] = captures[2];
   14177            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   14178              :                                                     {
   14179            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   14180              :                                                     }
   14181              :                                                   else
   14182              :                                                     _r1 = _o1[0];
   14183            0 :                                                   res_op0 = _r1;
   14184              :                                                 }
   14185            0 :                                                 tree _r;
   14186            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   14187            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   14188              :                                                 return _r;
   14189              :                                               }
   14190        66687 : next_after_fail2031:;
   14191              :                                             }
   14192              :                                       }
   14193              :                                     }
   14194              :                                   else
   14195              :                                     {
   14196            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2032;
   14197            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2032;
   14198            0 :                                       {
   14199            0 :                                         tree res_op0;
   14200            0 :                                         res_op0 = captures[2];
   14201            0 :                                         tree _r;
   14202            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   14203            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   14204              :                                         return _r;
   14205              :                                       }
   14206        66687 : next_after_fail2032:;
   14207              :                                     }
   14208              :                                 }
   14209              :                             }
   14210              :                           }
   14211              :                         break;
   14212              :                       }
   14213              :                     default:;
   14214              :                     }
   14215              :                 }
   14216              :               break;
   14217              :             }
   14218        66687 :           default:;
   14219              :           }
   14220        66687 :         if (zerop (_q21))
   14221              :           {
   14222           84 :             switch (TREE_CODE (_p2))
   14223              :               {
   14224            6 :               case NEGATE_EXPR:
   14225            6 :                 {
   14226            6 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   14227            6 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   14228              :                     {
   14229            6 :                       {
   14230            6 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   14231            6 :                         const enum tree_code cmp = GT_EXPR;
   14232            6 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14233            6 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14234           12 :  && element_precision (captures[1])
   14235            6 :  <= element_precision (captures[0])
   14236            6 :  && bitwise_equal_p (captures[1], captures[2])
   14237           12 :  && (!VECTOR_TYPE_P (type)
   14238            6 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   14239              : )
   14240              :                           {
   14241            6 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14242              : )
   14243              :                               {
   14244            0 :                                 {
   14245            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14246            0 :                                     if (types_match (captures[0], stype)
   14247              : )
   14248              :                                       {
   14249            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2033;
   14250            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2033;
   14251            0 :                                         {
   14252            0 :                                           tree res_op0;
   14253            0 :                                           res_op0 = captures[0];
   14254            0 :                                           tree _r;
   14255            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   14256            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   14257            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14258            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
   14259              :                                           return _r;
   14260              :                                         }
   14261        66681 : next_after_fail2033:;
   14262              :                                       }
   14263              :                                     else
   14264              :                                       {
   14265            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2034;
   14266            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2034;
   14267            0 :                                         {
   14268            0 :                                           tree res_op0;
   14269            0 :                                           {
   14270            0 :                                             tree _o1[1], _r1;
   14271            0 :                                             _o1[0] = captures[2];
   14272            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   14273              :                                               {
   14274            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   14275              :                                               }
   14276              :                                             else
   14277              :                                               _r1 = _o1[0];
   14278            0 :                                             res_op0 = _r1;
   14279              :                                           }
   14280            0 :                                           tree _r;
   14281            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   14282            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
   14283              :                                           return _r;
   14284              :                                         }
   14285        66681 : next_after_fail2034:;
   14286              :                                       }
   14287              :                                 }
   14288              :                               }
   14289              :                             else
   14290              :                               {
   14291            6 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2035;
   14292            6 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2035;
   14293            6 :                                 {
   14294            6 :                                   tree res_op0;
   14295            6 :                                   res_op0 = captures[2];
   14296            6 :                                   tree _r;
   14297            6 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   14298            6 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
   14299              :                                   return _r;
   14300              :                                 }
   14301        66681 : next_after_fail2035:;
   14302              :                               }
   14303              :                           }
   14304              :                       }
   14305              :                     }
   14306              :                   break;
   14307              :                 }
   14308              :               default:;
   14309              :               }
   14310              :           }
   14311        66681 :         switch (TREE_CODE (_q20))
   14312              :           {
   14313            0 :           case MINUS_EXPR:
   14314            0 :             {
   14315            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14316            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14317            0 :               if (zerop (_q21))
   14318              :                 {
   14319            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14320              :                     {
   14321            0 :                       switch (TREE_CODE (_p2))
   14322              :                         {
   14323            0 :                         case MINUS_EXPR:
   14324            0 :                           {
   14325            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   14326            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   14327            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   14328              :                               {
   14329            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   14330              :                                   {
   14331            0 :                                     {
   14332            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   14333            0 :                                       const enum tree_code cmp = GT_EXPR;
   14334            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   14335            0 :  && !TYPE_UNSIGNED (type)
   14336            0 :  && (!VECTOR_TYPE_P (type)
   14337            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   14338              : )
   14339              :                                         {
   14340            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2036;
   14341            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2036;
   14342            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2036;
   14343            0 :                                           {
   14344            0 :                                             tree res_op0;
   14345            0 :                                             res_op0 = captures[0];
   14346            0 :                                             tree _r;
   14347            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   14348            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
   14349              :                                             return _r;
   14350              :                                           }
   14351       454412 : next_after_fail2036:;
   14352              :                                         }
   14353              :                                     }
   14354              :                                   }
   14355              :                               }
   14356              :                             break;
   14357              :                           }
   14358              :                         default:;
   14359              :                         }
   14360              :                     }
   14361              :                 }
   14362              :               break;
   14363              :             }
   14364              :           default:;
   14365              :           }
   14366              :         break;
   14367              :       }
   14368         1055 :     case LE_EXPR:
   14369         1055 :       {
   14370         1055 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14371         1055 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14372         1055 :         switch (TREE_CODE (_q20))
   14373              :           {
   14374          128 :           CASE_CONVERT:
   14375          128 :             {
   14376          128 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14377          128 :               if (zerop (_q21))
   14378              :                 {
   14379            0 :                   switch (TREE_CODE (_p2))
   14380              :                     {
   14381            0 :                     case NEGATE_EXPR:
   14382            0 :                       {
   14383            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   14384            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   14385              :                           {
   14386            0 :                             {
   14387            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   14388            0 :                               const enum tree_code cmp = LE_EXPR;
   14389            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14390            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14391            0 :  && element_precision (captures[1])
   14392            0 :  <= element_precision (captures[0])
   14393            0 :  && bitwise_equal_p (captures[1], captures[2])
   14394            0 :  && (!VECTOR_TYPE_P (type)
   14395            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14396            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14397              : )
   14398              :                                 {
   14399            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   14400            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   14401            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14402              : )
   14403              :                                     {
   14404            0 :                                       {
   14405            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14406            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   14407            0 :                                           if (types_match (captures[0], stype)
   14408              : )
   14409              :                                             {
   14410            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2037;
   14411            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2037;
   14412            0 :                                               {
   14413            0 :                                                 tree res_op0;
   14414            0 :                                                 {
   14415            0 :                                                   tree _o1[1], _r1;
   14416            0 :                                                   {
   14417            0 :                                                     tree _o2[1], _r2;
   14418            0 :                                                     _o2[0] = captures[0];
   14419            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14420            0 :                                                     _o1[0] = _r2;
   14421              :                                                   }
   14422            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14423            0 :                                                   res_op0 = _r1;
   14424              :                                                 }
   14425            0 :                                                 tree _r;
   14426            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14427            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   14428            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14429            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   14430              :                                                 return _r;
   14431              :                                               }
   14432         1055 : next_after_fail2037:;
   14433              :                                             }
   14434              :                                           else
   14435              :                                             {
   14436            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2038;
   14437            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2038;
   14438            0 :                                               {
   14439            0 :                                                 tree res_op0;
   14440            0 :                                                 {
   14441            0 :                                                   tree _o1[1], _r1;
   14442            0 :                                                   {
   14443            0 :                                                     tree _o2[1], _r2;
   14444            0 :                                                     {
   14445            0 :                                                       tree _o3[1], _r3;
   14446            0 :                                                       _o3[0] = captures[2];
   14447            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   14448              :                                                         {
   14449            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   14450              :                                                         }
   14451              :                                                       else
   14452              :                                                         _r3 = _o3[0];
   14453            0 :                                                       _o2[0] = _r3;
   14454              :                                                     }
   14455            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14456            0 :                                                     _o1[0] = _r2;
   14457              :                                                   }
   14458            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14459            0 :                                                   res_op0 = _r1;
   14460              :                                                 }
   14461            0 :                                                 tree _r;
   14462            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14463            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1116, __FILE__, __LINE__, true);
   14464              :                                                 return _r;
   14465              :                                               }
   14466         1055 : next_after_fail2038:;
   14467              :                                             }
   14468              :                                       }
   14469              :                                     }
   14470              :                                   else
   14471              :                                     {
   14472            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2039;
   14473            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2039;
   14474            0 :                                       {
   14475            0 :                                         tree res_op0;
   14476            0 :                                         {
   14477            0 :                                           tree _o1[1], _r1;
   14478            0 :                                           {
   14479            0 :                                             tree _o2[1], _r2;
   14480            0 :                                             _o2[0] = captures[2];
   14481            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   14482            0 :                                             _o1[0] = _r2;
   14483              :                                           }
   14484            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14485            0 :                                           res_op0 = _r1;
   14486              :                                         }
   14487            0 :                                         tree _r;
   14488            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14489            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1117, __FILE__, __LINE__, true);
   14490              :                                         return _r;
   14491              :                                       }
   14492         1055 : next_after_fail2039:;
   14493              :                                     }
   14494              :                                 }
   14495              :                             }
   14496              :                           }
   14497              :                         break;
   14498              :                       }
   14499              :                     default:;
   14500              :                     }
   14501              :                 }
   14502              :               break;
   14503              :             }
   14504         1055 :           default:;
   14505              :           }
   14506         1055 :         if (zerop (_q21))
   14507              :           {
   14508           18 :             switch (TREE_CODE (_p2))
   14509              :               {
   14510            0 :               case NEGATE_EXPR:
   14511            0 :                 {
   14512            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   14513            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   14514              :                     {
   14515            0 :                       {
   14516            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   14517            0 :                         const enum tree_code cmp = LE_EXPR;
   14518            0 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14519            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14520            0 :  && element_precision (captures[1])
   14521            0 :  <= element_precision (captures[0])
   14522            0 :  && bitwise_equal_p (captures[1], captures[2])
   14523            0 :  && (!VECTOR_TYPE_P (type)
   14524            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14525            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14526              : )
   14527              :                           {
   14528            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   14529            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   14530            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14531              : )
   14532              :                               {
   14533            0 :                                 {
   14534            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14535            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   14536            0 :                                     if (types_match (captures[0], stype)
   14537              : )
   14538              :                                       {
   14539            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2040;
   14540            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2040;
   14541            0 :                                         {
   14542            0 :                                           tree res_op0;
   14543            0 :                                           {
   14544            0 :                                             tree _o1[1], _r1;
   14545            0 :                                             {
   14546            0 :                                               tree _o2[1], _r2;
   14547            0 :                                               _o2[0] = captures[0];
   14548            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14549            0 :                                               _o1[0] = _r2;
   14550              :                                             }
   14551            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14552            0 :                                             res_op0 = _r1;
   14553              :                                           }
   14554            0 :                                           tree _r;
   14555            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14556            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   14557            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14558            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   14559              :                                           return _r;
   14560              :                                         }
   14561         1055 : next_after_fail2040:;
   14562              :                                       }
   14563              :                                     else
   14564              :                                       {
   14565            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2041;
   14566            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2041;
   14567            0 :                                         {
   14568            0 :                                           tree res_op0;
   14569            0 :                                           {
   14570            0 :                                             tree _o1[1], _r1;
   14571            0 :                                             {
   14572            0 :                                               tree _o2[1], _r2;
   14573            0 :                                               {
   14574            0 :                                                 tree _o3[1], _r3;
   14575            0 :                                                 _o3[0] = captures[2];
   14576            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   14577              :                                                   {
   14578            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   14579              :                                                   }
   14580              :                                                 else
   14581              :                                                   _r3 = _o3[0];
   14582            0 :                                                 _o2[0] = _r3;
   14583              :                                               }
   14584            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14585            0 :                                               _o1[0] = _r2;
   14586              :                                             }
   14587            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14588            0 :                                             res_op0 = _r1;
   14589              :                                           }
   14590            0 :                                           tree _r;
   14591            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14592            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1116, __FILE__, __LINE__, true);
   14593              :                                           return _r;
   14594              :                                         }
   14595         1055 : next_after_fail2041:;
   14596              :                                       }
   14597              :                                 }
   14598              :                               }
   14599              :                             else
   14600              :                               {
   14601            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2042;
   14602            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2042;
   14603            0 :                                 {
   14604            0 :                                   tree res_op0;
   14605            0 :                                   {
   14606            0 :                                     tree _o1[1], _r1;
   14607            0 :                                     {
   14608            0 :                                       tree _o2[1], _r2;
   14609            0 :                                       _o2[0] = captures[2];
   14610            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   14611            0 :                                       _o1[0] = _r2;
   14612              :                                     }
   14613            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14614            0 :                                     res_op0 = _r1;
   14615              :                                   }
   14616            0 :                                   tree _r;
   14617            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14618            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1117, __FILE__, __LINE__, true);
   14619              :                                   return _r;
   14620              :                                 }
   14621         1055 : next_after_fail2042:;
   14622              :                               }
   14623              :                           }
   14624              :                       }
   14625              :                     }
   14626              :                   break;
   14627              :                 }
   14628              :               default:;
   14629              :               }
   14630              :           }
   14631         1055 :         switch (TREE_CODE (_q20))
   14632              :           {
   14633            0 :           case MINUS_EXPR:
   14634            0 :             {
   14635            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14636            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14637            0 :               if (zerop (_q21))
   14638              :                 {
   14639            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14640              :                     {
   14641            0 :                       switch (TREE_CODE (_p2))
   14642              :                         {
   14643            0 :                         case MINUS_EXPR:
   14644            0 :                           {
   14645            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   14646            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   14647            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   14648              :                               {
   14649            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   14650              :                                   {
   14651            0 :                                     {
   14652            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   14653            0 :                                       const enum tree_code cmp = LE_EXPR;
   14654            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   14655            0 :  && !TYPE_UNSIGNED (type)
   14656              : )
   14657              :                                         {
   14658            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   14659            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   14660            0 :  && (!VECTOR_TYPE_P (type)
   14661            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14662            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14663              : )
   14664              :                                             {
   14665            0 :                                               {
   14666            0 :  tree utype = unsigned_type_for (type);
   14667            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2043;
   14668            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2043;
   14669            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2043;
   14670            0 :                                                   {
   14671            0 :                                                     tree res_op0;
   14672            0 :                                                     {
   14673            0 :                                                       tree _o1[1], _r1;
   14674            0 :                                                       {
   14675            0 :                                                         tree _o2[1], _r2;
   14676            0 :                                                         _o2[0] = captures[0];
   14677            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14678            0 :                                                         _o1[0] = _r2;
   14679              :                                                       }
   14680            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14681            0 :                                                       res_op0 = _r1;
   14682              :                                                     }
   14683            0 :                                                     tree _r;
   14684            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14685            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1118, __FILE__, __LINE__, true);
   14686              :                                                     return _r;
   14687              :                                                   }
   14688       454412 : next_after_fail2043:;
   14689              :                                               }
   14690              :                                             }
   14691              :                                           else
   14692              :                                             {
   14693            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2044;
   14694            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2044;
   14695            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2044;
   14696            0 :                                               {
   14697            0 :                                                 tree res_op0;
   14698            0 :                                                 {
   14699            0 :                                                   tree _o1[1], _r1;
   14700            0 :                                                   _o1[0] = captures[0];
   14701            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14702            0 :                                                   res_op0 = _r1;
   14703              :                                                 }
   14704            0 :                                                 tree _r;
   14705            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   14706            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1119, __FILE__, __LINE__, true);
   14707              :                                                 return _r;
   14708              :                                               }
   14709       454412 : next_after_fail2044:;
   14710              :                                             }
   14711              :                                         }
   14712              :                                     }
   14713              :                                   }
   14714              :                               }
   14715              :                             break;
   14716              :                           }
   14717              :                         default:;
   14718              :                         }
   14719              :                     }
   14720              :                 }
   14721              :               break;
   14722              :             }
   14723              :           default:;
   14724              :           }
   14725              :         break;
   14726              :       }
   14727        21029 :     case LT_EXPR:
   14728        21029 :       {
   14729        21029 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14730        21029 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14731        21029 :         switch (TREE_CODE (_q20))
   14732              :           {
   14733          316 :           CASE_CONVERT:
   14734          316 :             {
   14735          316 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14736          316 :               if (zerop (_q21))
   14737              :                 {
   14738          162 :                   switch (TREE_CODE (_p2))
   14739              :                     {
   14740            0 :                     case NEGATE_EXPR:
   14741            0 :                       {
   14742            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   14743            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   14744              :                           {
   14745            0 :                             {
   14746            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   14747            0 :                               const enum tree_code cmp = LT_EXPR;
   14748            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14749            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14750            0 :  && element_precision (captures[1])
   14751            0 :  <= element_precision (captures[0])
   14752            0 :  && bitwise_equal_p (captures[1], captures[2])
   14753            0 :  && (!VECTOR_TYPE_P (type)
   14754            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14755            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14756              : )
   14757              :                                 {
   14758            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   14759            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   14760            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14761              : )
   14762              :                                     {
   14763            0 :                                       {
   14764            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14765            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   14766            0 :                                           if (types_match (captures[0], stype)
   14767              : )
   14768              :                                             {
   14769            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2045;
   14770            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2045;
   14771            0 :                                               {
   14772            0 :                                                 tree res_op0;
   14773            0 :                                                 {
   14774            0 :                                                   tree _o1[1], _r1;
   14775            0 :                                                   {
   14776            0 :                                                     tree _o2[1], _r2;
   14777            0 :                                                     _o2[0] = captures[0];
   14778            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14779            0 :                                                     _o1[0] = _r2;
   14780              :                                                   }
   14781            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14782            0 :                                                   res_op0 = _r1;
   14783              :                                                 }
   14784            0 :                                                 tree _r;
   14785            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14786            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   14787            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14788            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   14789              :                                                 return _r;
   14790              :                                               }
   14791        21029 : next_after_fail2045:;
   14792              :                                             }
   14793              :                                           else
   14794              :                                             {
   14795            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2046;
   14796            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2046;
   14797            0 :                                               {
   14798            0 :                                                 tree res_op0;
   14799            0 :                                                 {
   14800            0 :                                                   tree _o1[1], _r1;
   14801            0 :                                                   {
   14802            0 :                                                     tree _o2[1], _r2;
   14803            0 :                                                     {
   14804            0 :                                                       tree _o3[1], _r3;
   14805            0 :                                                       _o3[0] = captures[2];
   14806            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   14807              :                                                         {
   14808            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   14809              :                                                         }
   14810              :                                                       else
   14811              :                                                         _r3 = _o3[0];
   14812            0 :                                                       _o2[0] = _r3;
   14813              :                                                     }
   14814            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14815            0 :                                                     _o1[0] = _r2;
   14816              :                                                   }
   14817            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14818            0 :                                                   res_op0 = _r1;
   14819              :                                                 }
   14820            0 :                                                 tree _r;
   14821            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14822            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1116, __FILE__, __LINE__, true);
   14823              :                                                 return _r;
   14824              :                                               }
   14825        21029 : next_after_fail2046:;
   14826              :                                             }
   14827              :                                       }
   14828              :                                     }
   14829              :                                   else
   14830              :                                     {
   14831            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2047;
   14832            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2047;
   14833            0 :                                       {
   14834            0 :                                         tree res_op0;
   14835            0 :                                         {
   14836            0 :                                           tree _o1[1], _r1;
   14837            0 :                                           {
   14838            0 :                                             tree _o2[1], _r2;
   14839            0 :                                             _o2[0] = captures[2];
   14840            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   14841            0 :                                             _o1[0] = _r2;
   14842              :                                           }
   14843            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14844            0 :                                           res_op0 = _r1;
   14845              :                                         }
   14846            0 :                                         tree _r;
   14847            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14848            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1117, __FILE__, __LINE__, true);
   14849              :                                         return _r;
   14850              :                                       }
   14851        21029 : next_after_fail2047:;
   14852              :                                     }
   14853              :                                 }
   14854              :                             }
   14855              :                           }
   14856              :                         break;
   14857              :                       }
   14858              :                     default:;
   14859              :                     }
   14860              :                 }
   14861              :               break;
   14862              :             }
   14863        21029 :           default:;
   14864              :           }
   14865        21029 :         if (zerop (_q21))
   14866              :           {
   14867          712 :             switch (TREE_CODE (_p2))
   14868              :               {
   14869           16 :               case NEGATE_EXPR:
   14870           16 :                 {
   14871           16 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   14872           16 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   14873              :                     {
   14874           16 :                       {
   14875           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   14876           16 :                         const enum tree_code cmp = LT_EXPR;
   14877           16 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14878           16 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14879           32 :  && element_precision (captures[1])
   14880           16 :  <= element_precision (captures[0])
   14881           16 :  && bitwise_equal_p (captures[1], captures[2])
   14882           32 :  && (!VECTOR_TYPE_P (type)
   14883           16 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14884            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14885              : )
   14886              :                           {
   14887            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   14888            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   14889            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14890              : )
   14891              :                               {
   14892            0 :                                 {
   14893            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14894            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   14895            0 :                                     if (types_match (captures[0], stype)
   14896              : )
   14897              :                                       {
   14898            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2048;
   14899            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2048;
   14900            0 :                                         {
   14901            0 :                                           tree res_op0;
   14902            0 :                                           {
   14903            0 :                                             tree _o1[1], _r1;
   14904            0 :                                             {
   14905            0 :                                               tree _o2[1], _r2;
   14906            0 :                                               _o2[0] = captures[0];
   14907            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14908            0 :                                               _o1[0] = _r2;
   14909              :                                             }
   14910            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14911            0 :                                             res_op0 = _r1;
   14912              :                                           }
   14913            0 :                                           tree _r;
   14914            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14915            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   14916            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14917            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1115, __FILE__, __LINE__, true);
   14918              :                                           return _r;
   14919              :                                         }
   14920        21029 : next_after_fail2048:;
   14921              :                                       }
   14922              :                                     else
   14923              :                                       {
   14924            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2049;
   14925            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2049;
   14926            0 :                                         {
   14927            0 :                                           tree res_op0;
   14928            0 :                                           {
   14929            0 :                                             tree _o1[1], _r1;
   14930            0 :                                             {
   14931            0 :                                               tree _o2[1], _r2;
   14932            0 :                                               {
   14933            0 :                                                 tree _o3[1], _r3;
   14934            0 :                                                 _o3[0] = captures[2];
   14935            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   14936              :                                                   {
   14937            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   14938              :                                                   }
   14939              :                                                 else
   14940              :                                                   _r3 = _o3[0];
   14941            0 :                                                 _o2[0] = _r3;
   14942              :                                               }
   14943            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14944            0 :                                               _o1[0] = _r2;
   14945              :                                             }
   14946            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14947            0 :                                             res_op0 = _r1;
   14948              :                                           }
   14949            0 :                                           tree _r;
   14950            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14951            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1116, __FILE__, __LINE__, true);
   14952              :                                           return _r;
   14953              :                                         }
   14954        21029 : next_after_fail2049:;
   14955              :                                       }
   14956              :                                 }
   14957              :                               }
   14958              :                             else
   14959              :                               {
   14960            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2050;
   14961            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2050;
   14962            0 :                                 {
   14963            0 :                                   tree res_op0;
   14964            0 :                                   {
   14965            0 :                                     tree _o1[1], _r1;
   14966            0 :                                     {
   14967            0 :                                       tree _o2[1], _r2;
   14968            0 :                                       _o2[0] = captures[2];
   14969            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   14970            0 :                                       _o1[0] = _r2;
   14971              :                                     }
   14972            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14973            0 :                                     res_op0 = _r1;
   14974              :                                   }
   14975            0 :                                   tree _r;
   14976            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14977            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1117, __FILE__, __LINE__, true);
   14978              :                                   return _r;
   14979              :                                 }
   14980        21029 : next_after_fail2050:;
   14981              :                               }
   14982              :                           }
   14983              :                       }
   14984              :                     }
   14985              :                   break;
   14986              :                 }
   14987              :               default:;
   14988              :               }
   14989              :           }
   14990        21029 :         switch (TREE_CODE (_q20))
   14991              :           {
   14992            0 :           case MINUS_EXPR:
   14993            0 :             {
   14994            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14995            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14996            0 :               if (zerop (_q21))
   14997              :                 {
   14998            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14999              :                     {
   15000            0 :                       switch (TREE_CODE (_p2))
   15001              :                         {
   15002            0 :                         case MINUS_EXPR:
   15003            0 :                           {
   15004            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   15005            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   15006            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   15007              :                               {
   15008            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   15009              :                                   {
   15010            0 :                                     {
   15011            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   15012            0 :                                       const enum tree_code cmp = LT_EXPR;
   15013            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   15014            0 :  && !TYPE_UNSIGNED (type)
   15015              : )
   15016              :                                         {
   15017            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   15018            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   15019            0 :  && (!VECTOR_TYPE_P (type)
   15020            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   15021            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   15022              : )
   15023              :                                             {
   15024            0 :                                               {
   15025            0 :  tree utype = unsigned_type_for (type);
   15026            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2051;
   15027            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2051;
   15028            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2051;
   15029            0 :                                                   {
   15030            0 :                                                     tree res_op0;
   15031            0 :                                                     {
   15032            0 :                                                       tree _o1[1], _r1;
   15033            0 :                                                       {
   15034            0 :                                                         tree _o2[1], _r2;
   15035            0 :                                                         _o2[0] = captures[0];
   15036            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   15037            0 :                                                         _o1[0] = _r2;
   15038              :                                                       }
   15039            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   15040            0 :                                                       res_op0 = _r1;
   15041              :                                                     }
   15042            0 :                                                     tree _r;
   15043            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   15044            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1118, __FILE__, __LINE__, true);
   15045              :                                                     return _r;
   15046              :                                                   }
   15047       454412 : next_after_fail2051:;
   15048              :                                               }
   15049              :                                             }
   15050              :                                           else
   15051              :                                             {
   15052            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2052;
   15053            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2052;
   15054            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2052;
   15055            0 :                                               {
   15056            0 :                                                 tree res_op0;
   15057            0 :                                                 {
   15058            0 :                                                   tree _o1[1], _r1;
   15059            0 :                                                   _o1[0] = captures[0];
   15060            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   15061            0 :                                                   res_op0 = _r1;
   15062              :                                                 }
   15063            0 :                                                 tree _r;
   15064            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   15065            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1119, __FILE__, __LINE__, true);
   15066              :                                                 return _r;
   15067              :                                               }
   15068       454412 : next_after_fail2052:;
   15069              :                                             }
   15070              :                                         }
   15071              :                                     }
   15072              :                                   }
   15073              :                               }
   15074              :                             break;
   15075              :                           }
   15076              :                         default:;
   15077              :                         }
   15078              :                     }
   15079              :                 }
   15080              :               break;
   15081              :             }
   15082              :           default:;
   15083              :           }
   15084              :         break;
   15085              :       }
   15086       454412 :     default:;
   15087              :     }
   15088       454412 : {
   15089       454412 :   tree _p0_pops[1];
   15090       454412 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   15091              :     {
   15092         1424 :       tree _q20 = _p0_pops[0];
   15093         1424 :       if (tree_truth_valued_p (_q20))
   15094              :         {
   15095            0 :           {
   15096            0 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   15097            0 :             if (VEC_COND_EXPR == VEC_COND_EXPR
   15098              :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   15099              : )
   15100              :               {
   15101            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2053;
   15102            0 :                 {
   15103            0 :                   tree res_op0;
   15104            0 :                   res_op0 = captures[0];
   15105            0 :                   tree res_op1;
   15106            0 :                   res_op1 = captures[2];
   15107            0 :                   tree res_op2;
   15108            0 :                   res_op2 = captures[1];
   15109            0 :                   tree _r;
   15110            0 :                   _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   15111            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1122, __FILE__, __LINE__, true);
   15112            0 :                   return _r;
   15113              :                 }
   15114            0 : next_after_fail2053:;
   15115              :               }
   15116              :           }
   15117              :         }
   15118              :     }
   15119              : }
   15120       454412 :   switch (TREE_CODE (_p1))
   15121              :     {
   15122            0 :     case VIEW_CONVERT_EXPR:
   15123            0 :       {
   15124            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15125            0 :         switch (TREE_CODE (_q30))
   15126              :           {
   15127            0 :           case CALL_EXPR:
   15128            0 :             switch (get_call_combined_fn (_q30))
   15129              :               {
   15130            0 :               case CFN_COND_ADD:
   15131            0 :                 if (call_expr_nargs (_q30) == 4)
   15132              :     {
   15133            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15134            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15135            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15136            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15137            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15138              :                       {
   15139            0 :                         {
   15140            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15141            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   15142            0 :                           if (res) return res;
   15143              :                         }
   15144              :                       }
   15145              :                   }
   15146              :                 break;
   15147            0 :               case CFN_COND_AND:
   15148            0 :                 if (call_expr_nargs (_q30) == 4)
   15149              :     {
   15150            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15151            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15152            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15153            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15154            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15155              :                       {
   15156            0 :                         {
   15157            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15158            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   15159            0 :                           if (res) return res;
   15160              :                         }
   15161              :                       }
   15162              :                   }
   15163              :                 break;
   15164            0 :               case CFN_COND_DIV:
   15165            0 :                 if (call_expr_nargs (_q30) == 4)
   15166              :     {
   15167            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15168            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15169            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15170            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15171            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15172              :                       {
   15173            0 :                         {
   15174            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15175            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   15176            0 :                           if (res) return res;
   15177              :                         }
   15178              :                       }
   15179              :                   }
   15180              :                 break;
   15181            0 :               case CFN_COND_IOR:
   15182            0 :                 if (call_expr_nargs (_q30) == 4)
   15183              :     {
   15184            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15185            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15186            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15187            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15188            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15189              :                       {
   15190            0 :                         {
   15191            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15192            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   15193            0 :                           if (res) return res;
   15194              :                         }
   15195              :                       }
   15196              :                   }
   15197              :                 break;
   15198            0 :               case CFN_COND_MAX:
   15199            0 :                 if (call_expr_nargs (_q30) == 4)
   15200              :     {
   15201            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15202            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15203            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15204            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15205            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15206              :                       {
   15207            0 :                         {
   15208            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15209            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   15210            0 :                           if (res) return res;
   15211              :                         }
   15212              :                       }
   15213              :                   }
   15214              :                 break;
   15215            0 :               case CFN_COND_MIN:
   15216            0 :                 if (call_expr_nargs (_q30) == 4)
   15217              :     {
   15218            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15219            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15220            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15221            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15222            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15223              :                       {
   15224            0 :                         {
   15225            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15226            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   15227            0 :                           if (res) return res;
   15228              :                         }
   15229              :                       }
   15230              :                   }
   15231              :                 break;
   15232            0 :               case CFN_COND_MOD:
   15233            0 :                 if (call_expr_nargs (_q30) == 4)
   15234              :     {
   15235            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15236            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15237            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15238            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15239            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15240              :                       {
   15241            0 :                         {
   15242            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15243            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   15244            0 :                           if (res) return res;
   15245              :                         }
   15246              :                       }
   15247              :                   }
   15248              :                 break;
   15249            0 :               case CFN_COND_MUL:
   15250            0 :                 if (call_expr_nargs (_q30) == 4)
   15251              :     {
   15252            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15253            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15254            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15255            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15256            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15257              :                       {
   15258            0 :                         {
   15259            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15260            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   15261            0 :                           if (res) return res;
   15262              :                         }
   15263              :                       }
   15264              :                   }
   15265              :                 break;
   15266            0 :               case CFN_COND_SHL:
   15267            0 :                 if (call_expr_nargs (_q30) == 4)
   15268              :     {
   15269            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15270            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15271            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15272            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15273            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15274              :                       {
   15275            0 :                         {
   15276            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15277            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   15278            0 :                           if (res) return res;
   15279              :                         }
   15280              :                       }
   15281              :                   }
   15282              :                 break;
   15283            0 :               case CFN_COND_SHR:
   15284            0 :                 if (call_expr_nargs (_q30) == 4)
   15285              :     {
   15286            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15287            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15288            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15289            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15290            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15291              :                       {
   15292            0 :                         {
   15293            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15294            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   15295            0 :                           if (res) return res;
   15296              :                         }
   15297              :                       }
   15298              :                   }
   15299              :                 break;
   15300            0 :               case CFN_COND_SUB:
   15301            0 :                 if (call_expr_nargs (_q30) == 4)
   15302              :     {
   15303            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15304            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15305            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15306            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15307            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15308              :                       {
   15309            0 :                         {
   15310            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15311            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   15312            0 :                           if (res) return res;
   15313              :                         }
   15314              :                       }
   15315              :                   }
   15316              :                 break;
   15317            0 :               case CFN_COND_XOR:
   15318            0 :                 if (call_expr_nargs (_q30) == 4)
   15319              :     {
   15320            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15321            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15322            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15323            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15324            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15325              :                       {
   15326            0 :                         {
   15327            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15328            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   15329            0 :                           if (res) return res;
   15330              :                         }
   15331              :                       }
   15332              :                   }
   15333              :                 break;
   15334            0 :               case CFN_COND_COPYSIGN:
   15335            0 :                 if (call_expr_nargs (_q30) == 4)
   15336              :     {
   15337            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15338            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15339            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15340            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15341            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15342              :                       {
   15343            0 :                         {
   15344            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15345            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   15346            0 :                           if (res) return res;
   15347              :                         }
   15348              :                       }
   15349              :                   }
   15350              :                 break;
   15351            0 :               case CFN_COND_FMAX:
   15352            0 :                 if (call_expr_nargs (_q30) == 4)
   15353              :     {
   15354            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15355            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15356            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15357            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15358            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15359              :                       {
   15360            0 :                         {
   15361            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15362            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   15363            0 :                           if (res) return res;
   15364              :                         }
   15365              :                       }
   15366              :                   }
   15367              :                 break;
   15368            0 :               case CFN_COND_FMIN:
   15369            0 :                 if (call_expr_nargs (_q30) == 4)
   15370              :     {
   15371            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15372            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15373            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15374            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15375            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15376              :                       {
   15377            0 :                         {
   15378            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15379            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   15380            0 :                           if (res) return res;
   15381              :                         }
   15382              :                       }
   15383              :                   }
   15384              :                 break;
   15385            0 :               case CFN_COND_RDIV:
   15386            0 :                 if (call_expr_nargs (_q30) == 4)
   15387              :     {
   15388            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15389            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15390            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15391            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15392            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15393              :                       {
   15394            0 :                         {
   15395            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15396            0 :                           tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   15397            0 :                           if (res) return res;
   15398              :                         }
   15399              :                       }
   15400              :                   }
   15401              :                 break;
   15402              :               default:;
   15403              :               }
   15404              :             break;
   15405              :           default:;
   15406              :           }
   15407              :         break;
   15408              :       }
   15409           12 :     case CALL_EXPR:
   15410           12 :       switch (get_call_combined_fn (_p1))
   15411              :         {
   15412            0 :         case CFN_COND_ADD:
   15413            0 :           if (call_expr_nargs (_p1) == 4)
   15414              :     {
   15415            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15416            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15417            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15418            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15419            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15420              :                 {
   15421            0 :                   {
   15422            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15423            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   15424            0 :                     if (res) return res;
   15425              :                   }
   15426              :                 }
   15427              :             }
   15428              :           break;
   15429            0 :         case CFN_COND_AND:
   15430            0 :           if (call_expr_nargs (_p1) == 4)
   15431              :     {
   15432            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15433            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15434            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15435            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15436            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15437              :                 {
   15438            0 :                   {
   15439            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15440            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   15441            0 :                     if (res) return res;
   15442              :                   }
   15443              :                 }
   15444              :             }
   15445              :           break;
   15446            0 :         case CFN_COND_DIV:
   15447            0 :           if (call_expr_nargs (_p1) == 4)
   15448              :     {
   15449            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15450            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15451            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15452            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15453            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15454              :                 {
   15455            0 :                   {
   15456            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15457            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   15458            0 :                     if (res) return res;
   15459              :                   }
   15460              :                 }
   15461              :             }
   15462              :           break;
   15463            0 :         case CFN_COND_IOR:
   15464            0 :           if (call_expr_nargs (_p1) == 4)
   15465              :     {
   15466            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15467            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15468            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15469            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15470            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15471              :                 {
   15472            0 :                   {
   15473            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15474            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   15475            0 :                     if (res) return res;
   15476              :                   }
   15477              :                 }
   15478              :             }
   15479              :           break;
   15480            0 :         case CFN_COND_MAX:
   15481            0 :           if (call_expr_nargs (_p1) == 4)
   15482              :     {
   15483            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15484            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15485            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15486            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15487            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15488              :                 {
   15489            0 :                   {
   15490            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15491            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   15492            0 :                     if (res) return res;
   15493              :                   }
   15494              :                 }
   15495              :             }
   15496              :           break;
   15497            0 :         case CFN_COND_MIN:
   15498            0 :           if (call_expr_nargs (_p1) == 4)
   15499              :     {
   15500            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15501            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15502            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15503            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15504            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15505              :                 {
   15506            0 :                   {
   15507            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15508            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   15509            0 :                     if (res) return res;
   15510              :                   }
   15511              :                 }
   15512              :             }
   15513              :           break;
   15514            0 :         case CFN_COND_MOD:
   15515            0 :           if (call_expr_nargs (_p1) == 4)
   15516              :     {
   15517            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15518            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15519            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15520            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15521            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15522              :                 {
   15523            0 :                   {
   15524            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15525            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   15526            0 :                     if (res) return res;
   15527              :                   }
   15528              :                 }
   15529              :             }
   15530              :           break;
   15531            0 :         case CFN_COND_MUL:
   15532            0 :           if (call_expr_nargs (_p1) == 4)
   15533              :     {
   15534            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15535            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15536            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15537            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15538            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15539              :                 {
   15540            0 :                   {
   15541            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15542            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   15543            0 :                     if (res) return res;
   15544              :                   }
   15545              :                 }
   15546              :             }
   15547              :           break;
   15548            0 :         case CFN_COND_SHL:
   15549            0 :           if (call_expr_nargs (_p1) == 4)
   15550              :     {
   15551            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15552            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15553            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15554            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15555            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15556              :                 {
   15557            0 :                   {
   15558            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15559            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   15560            0 :                     if (res) return res;
   15561              :                   }
   15562              :                 }
   15563              :             }
   15564              :           break;
   15565            0 :         case CFN_COND_SHR:
   15566            0 :           if (call_expr_nargs (_p1) == 4)
   15567              :     {
   15568            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15569            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15570            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15571            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15572            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15573              :                 {
   15574            0 :                   {
   15575            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15576            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   15577            0 :                     if (res) return res;
   15578              :                   }
   15579              :                 }
   15580              :             }
   15581              :           break;
   15582            0 :         case CFN_COND_SUB:
   15583            0 :           if (call_expr_nargs (_p1) == 4)
   15584              :     {
   15585            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15586            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15587            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15588            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15589            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15590              :                 {
   15591            0 :                   {
   15592            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15593            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   15594            0 :                     if (res) return res;
   15595              :                   }
   15596              :                 }
   15597              :             }
   15598              :           break;
   15599            0 :         case CFN_COND_XOR:
   15600            0 :           if (call_expr_nargs (_p1) == 4)
   15601              :     {
   15602            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15603            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15604            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15605            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15606            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15607              :                 {
   15608            0 :                   {
   15609            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15610            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   15611            0 :                     if (res) return res;
   15612              :                   }
   15613              :                 }
   15614              :             }
   15615              :           break;
   15616            0 :         case CFN_COND_COPYSIGN:
   15617            0 :           if (call_expr_nargs (_p1) == 4)
   15618              :     {
   15619            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15620            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15621            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15622            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15623            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15624              :                 {
   15625            0 :                   {
   15626            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15627            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   15628            0 :                     if (res) return res;
   15629              :                   }
   15630              :                 }
   15631              :             }
   15632              :           break;
   15633            0 :         case CFN_COND_FMAX:
   15634            0 :           if (call_expr_nargs (_p1) == 4)
   15635              :     {
   15636            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15637            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15638            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15639            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15640            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15641              :                 {
   15642            0 :                   {
   15643            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15644            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   15645            0 :                     if (res) return res;
   15646              :                   }
   15647              :                 }
   15648              :             }
   15649              :           break;
   15650            0 :         case CFN_COND_FMIN:
   15651            0 :           if (call_expr_nargs (_p1) == 4)
   15652              :     {
   15653            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15654            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15655            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15656            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15657            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15658              :                 {
   15659            0 :                   {
   15660            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15661            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   15662            0 :                     if (res) return res;
   15663              :                   }
   15664              :                 }
   15665              :             }
   15666              :           break;
   15667            0 :         case CFN_COND_RDIV:
   15668            0 :           if (call_expr_nargs (_p1) == 4)
   15669              :     {
   15670            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15671            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15672            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15673            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15674            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15675              :                 {
   15676            0 :                   {
   15677            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15678            0 :                     tree res = generic_simplify_574 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   15679            0 :                     if (res) return res;
   15680              :                   }
   15681              :                 }
   15682              :             }
   15683              :           break;
   15684              :         default:;
   15685              :         }
   15686              :       break;
   15687       454412 :     default:;
   15688              :     }
   15689       454412 :   switch (TREE_CODE (_p2))
   15690              :     {
   15691            0 :     case VIEW_CONVERT_EXPR:
   15692            0 :       {
   15693            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15694            0 :         switch (TREE_CODE (_q40))
   15695              :           {
   15696            0 :           case CALL_EXPR:
   15697            0 :             switch (get_call_combined_fn (_q40))
   15698              :               {
   15699            0 :               case CFN_COND_ADD:
   15700            0 :                 if (call_expr_nargs (_q40) == 4)
   15701              :     {
   15702            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15703            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15704            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15705            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15706            0 :                     {
   15707            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15708            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   15709            0 :                       if (res) return res;
   15710              :                     }
   15711              :                   }
   15712              :                 break;
   15713            0 :               case CFN_COND_AND:
   15714            0 :                 if (call_expr_nargs (_q40) == 4)
   15715              :     {
   15716            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15717            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15718            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15719            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15720            0 :                     {
   15721            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15722            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   15723            0 :                       if (res) return res;
   15724              :                     }
   15725              :                   }
   15726              :                 break;
   15727            0 :               case CFN_COND_DIV:
   15728            0 :                 if (call_expr_nargs (_q40) == 4)
   15729              :     {
   15730            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15731            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15732            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15733            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15734            0 :                     {
   15735            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15736            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   15737            0 :                       if (res) return res;
   15738              :                     }
   15739              :                   }
   15740              :                 break;
   15741            0 :               case CFN_COND_IOR:
   15742            0 :                 if (call_expr_nargs (_q40) == 4)
   15743              :     {
   15744            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15745            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15746            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15747            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15748            0 :                     {
   15749            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15750            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   15751            0 :                       if (res) return res;
   15752              :                     }
   15753              :                   }
   15754              :                 break;
   15755            0 :               case CFN_COND_MAX:
   15756            0 :                 if (call_expr_nargs (_q40) == 4)
   15757              :     {
   15758            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15759            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15760            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15761            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15762            0 :                     {
   15763            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15764            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   15765            0 :                       if (res) return res;
   15766              :                     }
   15767              :                   }
   15768              :                 break;
   15769            0 :               case CFN_COND_MIN:
   15770            0 :                 if (call_expr_nargs (_q40) == 4)
   15771              :     {
   15772            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15773            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15774            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15775            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15776            0 :                     {
   15777            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15778            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   15779            0 :                       if (res) return res;
   15780              :                     }
   15781              :                   }
   15782              :                 break;
   15783            0 :               case CFN_COND_MOD:
   15784            0 :                 if (call_expr_nargs (_q40) == 4)
   15785              :     {
   15786            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15787            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15788            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15789            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15790            0 :                     {
   15791            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15792            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   15793            0 :                       if (res) return res;
   15794              :                     }
   15795              :                   }
   15796              :                 break;
   15797            0 :               case CFN_COND_MUL:
   15798            0 :                 if (call_expr_nargs (_q40) == 4)
   15799              :     {
   15800            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15801            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15802            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15803            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15804            0 :                     {
   15805            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15806            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   15807            0 :                       if (res) return res;
   15808              :                     }
   15809              :                   }
   15810              :                 break;
   15811            0 :               case CFN_COND_SHL:
   15812            0 :                 if (call_expr_nargs (_q40) == 4)
   15813              :     {
   15814            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15815            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15816            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15817            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15818            0 :                     {
   15819            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15820            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   15821            0 :                       if (res) return res;
   15822              :                     }
   15823              :                   }
   15824              :                 break;
   15825            0 :               case CFN_COND_SHR:
   15826            0 :                 if (call_expr_nargs (_q40) == 4)
   15827              :     {
   15828            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15829            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15830            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15831            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15832            0 :                     {
   15833            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15834            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   15835            0 :                       if (res) return res;
   15836              :                     }
   15837              :                   }
   15838              :                 break;
   15839            0 :               case CFN_COND_SUB:
   15840            0 :                 if (call_expr_nargs (_q40) == 4)
   15841              :     {
   15842            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15843            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15844            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15845            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15846            0 :                     {
   15847            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15848            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   15849            0 :                       if (res) return res;
   15850              :                     }
   15851              :                   }
   15852              :                 break;
   15853            0 :               case CFN_COND_XOR:
   15854            0 :                 if (call_expr_nargs (_q40) == 4)
   15855              :     {
   15856            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15857            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15858            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15859            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15860            0 :                     {
   15861            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15862            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   15863            0 :                       if (res) return res;
   15864              :                     }
   15865              :                   }
   15866              :                 break;
   15867            0 :               case CFN_COND_COPYSIGN:
   15868            0 :                 if (call_expr_nargs (_q40) == 4)
   15869              :     {
   15870            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15871            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15872            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15873            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15874            0 :                     {
   15875            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15876            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   15877            0 :                       if (res) return res;
   15878              :                     }
   15879              :                   }
   15880              :                 break;
   15881            0 :               case CFN_COND_FMAX:
   15882            0 :                 if (call_expr_nargs (_q40) == 4)
   15883              :     {
   15884            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15885            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15886            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15887            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15888            0 :                     {
   15889            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15890            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   15891            0 :                       if (res) return res;
   15892              :                     }
   15893              :                   }
   15894              :                 break;
   15895            0 :               case CFN_COND_FMIN:
   15896            0 :                 if (call_expr_nargs (_q40) == 4)
   15897              :     {
   15898            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15899            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15900            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15901            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15902            0 :                     {
   15903            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15904            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   15905            0 :                       if (res) return res;
   15906              :                     }
   15907              :                   }
   15908              :                 break;
   15909            0 :               case CFN_COND_RDIV:
   15910            0 :                 if (call_expr_nargs (_q40) == 4)
   15911              :     {
   15912            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15913            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15914            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15915            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15916            0 :                     {
   15917            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15918            0 :                       tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   15919            0 :                       if (res) return res;
   15920              :                     }
   15921              :                   }
   15922              :                 break;
   15923              :               default:;
   15924              :               }
   15925              :             break;
   15926              :           default:;
   15927              :           }
   15928              :         break;
   15929              :       }
   15930           12 :     case CALL_EXPR:
   15931           12 :       switch (get_call_combined_fn (_p2))
   15932              :         {
   15933            0 :         case CFN_COND_ADD:
   15934            0 :           if (call_expr_nargs (_p2) == 4)
   15935              :     {
   15936            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15937            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15938            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15939            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15940            0 :               {
   15941            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15942            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   15943            0 :                 if (res) return res;
   15944              :               }
   15945              :             }
   15946              :           break;
   15947            0 :         case CFN_COND_AND:
   15948            0 :           if (call_expr_nargs (_p2) == 4)
   15949              :     {
   15950            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15951            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15952            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15953            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15954            0 :               {
   15955            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15956            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   15957            0 :                 if (res) return res;
   15958              :               }
   15959              :             }
   15960              :           break;
   15961            0 :         case CFN_COND_DIV:
   15962            0 :           if (call_expr_nargs (_p2) == 4)
   15963              :     {
   15964            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15965            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15966            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15967            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15968            0 :               {
   15969            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15970            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   15971            0 :                 if (res) return res;
   15972              :               }
   15973              :             }
   15974              :           break;
   15975            0 :         case CFN_COND_IOR:
   15976            0 :           if (call_expr_nargs (_p2) == 4)
   15977              :     {
   15978            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15979            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15980            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15981            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15982            0 :               {
   15983            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15984            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   15985            0 :                 if (res) return res;
   15986              :               }
   15987              :             }
   15988              :           break;
   15989            0 :         case CFN_COND_MAX:
   15990            0 :           if (call_expr_nargs (_p2) == 4)
   15991              :     {
   15992            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15993            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15994            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15995            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15996            0 :               {
   15997            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15998            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   15999            0 :                 if (res) return res;
   16000              :               }
   16001              :             }
   16002              :           break;
   16003            0 :         case CFN_COND_MIN:
   16004            0 :           if (call_expr_nargs (_p2) == 4)
   16005              :     {
   16006            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16007            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16008            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16009            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16010            0 :               {
   16011            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16012            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   16013            0 :                 if (res) return res;
   16014              :               }
   16015              :             }
   16016              :           break;
   16017            0 :         case CFN_COND_MOD:
   16018            0 :           if (call_expr_nargs (_p2) == 4)
   16019              :     {
   16020            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16021            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16022            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16023            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16024            0 :               {
   16025            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16026            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   16027            0 :                 if (res) return res;
   16028              :               }
   16029              :             }
   16030              :           break;
   16031            0 :         case CFN_COND_MUL:
   16032            0 :           if (call_expr_nargs (_p2) == 4)
   16033              :     {
   16034            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16035            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16036            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16037            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16038            0 :               {
   16039            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16040            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   16041            0 :                 if (res) return res;
   16042              :               }
   16043              :             }
   16044              :           break;
   16045            0 :         case CFN_COND_SHL:
   16046            0 :           if (call_expr_nargs (_p2) == 4)
   16047              :     {
   16048            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16049            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16050            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16051            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16052            0 :               {
   16053            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16054            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   16055            0 :                 if (res) return res;
   16056              :               }
   16057              :             }
   16058              :           break;
   16059            0 :         case CFN_COND_SHR:
   16060            0 :           if (call_expr_nargs (_p2) == 4)
   16061              :     {
   16062            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16063            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16064            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16065            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16066            0 :               {
   16067            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16068            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   16069            0 :                 if (res) return res;
   16070              :               }
   16071              :             }
   16072              :           break;
   16073            0 :         case CFN_COND_SUB:
   16074            0 :           if (call_expr_nargs (_p2) == 4)
   16075              :     {
   16076            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16077            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16078            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16079            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16080            0 :               {
   16081            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16082            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   16083            0 :                 if (res) return res;
   16084              :               }
   16085              :             }
   16086              :           break;
   16087            0 :         case CFN_COND_XOR:
   16088            0 :           if (call_expr_nargs (_p2) == 4)
   16089              :     {
   16090            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16091            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16092            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16093            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16094            0 :               {
   16095            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16096            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   16097            0 :                 if (res) return res;
   16098              :               }
   16099              :             }
   16100              :           break;
   16101            0 :         case CFN_COND_COPYSIGN:
   16102            0 :           if (call_expr_nargs (_p2) == 4)
   16103              :     {
   16104            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16105            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16106            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16107            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16108            0 :               {
   16109            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16110            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   16111            0 :                 if (res) return res;
   16112              :               }
   16113              :             }
   16114              :           break;
   16115            0 :         case CFN_COND_FMAX:
   16116            0 :           if (call_expr_nargs (_p2) == 4)
   16117              :     {
   16118            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16119            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16120            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16121            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16122            0 :               {
   16123            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16124            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   16125            0 :                 if (res) return res;
   16126              :               }
   16127              :             }
   16128              :           break;
   16129            0 :         case CFN_COND_FMIN:
   16130            0 :           if (call_expr_nargs (_p2) == 4)
   16131              :     {
   16132            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16133            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16134            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16135            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16136            0 :               {
   16137            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16138            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   16139            0 :                 if (res) return res;
   16140              :               }
   16141              :             }
   16142              :           break;
   16143            0 :         case CFN_COND_RDIV:
   16144            0 :           if (call_expr_nargs (_p2) == 4)
   16145              :     {
   16146            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16147            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16148            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16149            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16150            0 :               {
   16151            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   16152            0 :                 tree res = generic_simplify_575 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   16153            0 :                 if (res) return res;
   16154              :               }
   16155              :             }
   16156              :           break;
   16157              :         default:;
   16158              :         }
   16159              :       break;
   16160       454412 :     default:;
   16161              :     }
   16162       454412 :   switch (TREE_CODE (_p1))
   16163              :     {
   16164            0 :     case VIEW_CONVERT_EXPR:
   16165            0 :       {
   16166            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16167            0 :         switch (TREE_CODE (_q30))
   16168              :           {
   16169            0 :           case CALL_EXPR:
   16170            0 :             switch (get_call_combined_fn (_q30))
   16171              :               {
   16172            0 :               case CFN_COND_FMA:
   16173            0 :                 if (call_expr_nargs (_q30) == 5)
   16174              :     {
   16175            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16176            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16177            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16178            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16179            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16180            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16181              :                       {
   16182            0 :                         {
   16183            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   16184            0 :                           tree res = generic_simplify_576 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16185            0 :                           if (res) return res;
   16186              :                         }
   16187              :                       }
   16188              :                   }
   16189              :                 break;
   16190            0 :               case CFN_COND_FMS:
   16191            0 :                 if (call_expr_nargs (_q30) == 5)
   16192              :     {
   16193            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16194            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16195            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16196            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16197            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16198            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16199              :                       {
   16200            0 :                         {
   16201            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   16202            0 :                           tree res = generic_simplify_576 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16203            0 :                           if (res) return res;
   16204              :                         }
   16205              :                       }
   16206              :                   }
   16207              :                 break;
   16208            0 :               case CFN_COND_FNMA:
   16209            0 :                 if (call_expr_nargs (_q30) == 5)
   16210              :     {
   16211            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16212            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16213            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16214            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16215            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16216            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16217              :                       {
   16218            0 :                         {
   16219            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   16220            0 :                           tree res = generic_simplify_576 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   16221            0 :                           if (res) return res;
   16222              :                         }
   16223              :                       }
   16224              :                   }
   16225              :                 break;
   16226            0 :               case CFN_COND_FNMS:
   16227            0 :                 if (call_expr_nargs (_q30) == 5)
   16228              :     {
   16229            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16230            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16231            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16232            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16233            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16234            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16235              :                       {
   16236            0 :                         {
   16237            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   16238            0 :                           tree res = generic_simplify_576 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   16239            0 :                           if (res) return res;
   16240              :                         }
   16241              :                       }
   16242              :                   }
   16243              :                 break;
   16244              :               default:;
   16245              :               }
   16246              :             break;
   16247              :           default:;
   16248              :           }
   16249              :         break;
   16250              :       }
   16251           12 :     case CALL_EXPR:
   16252           12 :       switch (get_call_combined_fn (_p1))
   16253              :         {
   16254            0 :         case CFN_COND_FMA:
   16255            0 :           if (call_expr_nargs (_p1) == 5)
   16256              :     {
   16257            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16258            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16259            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16260            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16261            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16262            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16263              :                 {
   16264            0 :                   {
   16265            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   16266            0 :                     tree res = generic_simplify_576 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16267            0 :                     if (res) return res;
   16268              :                   }
   16269              :                 }
   16270              :             }
   16271              :           break;
   16272            0 :         case CFN_COND_FMS:
   16273            0 :           if (call_expr_nargs (_p1) == 5)
   16274              :     {
   16275            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16276            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16277            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16278            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16279            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16280            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16281              :                 {
   16282            0 :                   {
   16283            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   16284            0 :                     tree res = generic_simplify_576 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16285            0 :                     if (res) return res;
   16286              :                   }
   16287              :                 }
   16288              :             }
   16289              :           break;
   16290            0 :         case CFN_COND_FNMA:
   16291            0 :           if (call_expr_nargs (_p1) == 5)
   16292              :     {
   16293            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16294            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16295            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16296            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16297            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16298            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16299              :                 {
   16300            0 :                   {
   16301            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   16302            0 :                     tree res = generic_simplify_576 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   16303            0 :                     if (res) return res;
   16304              :                   }
   16305              :                 }
   16306              :             }
   16307              :           break;
   16308            0 :         case CFN_COND_FNMS:
   16309            0 :           if (call_expr_nargs (_p1) == 5)
   16310              :     {
   16311            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16312            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16313            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16314            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16315            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16316            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16317              :                 {
   16318            0 :                   {
   16319            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   16320            0 :                     tree res = generic_simplify_576 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   16321            0 :                     if (res) return res;
   16322              :                   }
   16323              :                 }
   16324              :             }
   16325              :           break;
   16326              :         default:;
   16327              :         }
   16328              :       break;
   16329       454412 :     default:;
   16330              :     }
   16331       454412 :   switch (TREE_CODE (_p2))
   16332              :     {
   16333            0 :     case VIEW_CONVERT_EXPR:
   16334            0 :       {
   16335            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   16336            0 :         switch (TREE_CODE (_q40))
   16337              :           {
   16338            0 :           case CALL_EXPR:
   16339            0 :             switch (get_call_combined_fn (_q40))
   16340              :               {
   16341            0 :               case CFN_COND_FMA:
   16342            0 :                 if (call_expr_nargs (_q40) == 5)
   16343              :     {
   16344            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16345            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16346            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16347            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16348            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16349            0 :                     {
   16350            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   16351            0 :                       tree res = generic_simplify_577 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16352            0 :                       if (res) return res;
   16353              :                     }
   16354              :                   }
   16355              :                 break;
   16356            0 :               case CFN_COND_FMS:
   16357            0 :                 if (call_expr_nargs (_q40) == 5)
   16358              :     {
   16359            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16360            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16361            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16362            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16363            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16364            0 :                     {
   16365            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   16366            0 :                       tree res = generic_simplify_577 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16367            0 :                       if (res) return res;
   16368              :                     }
   16369              :                   }
   16370              :                 break;
   16371            0 :               case CFN_COND_FNMA:
   16372            0 :                 if (call_expr_nargs (_q40) == 5)
   16373              :     {
   16374            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16375            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16376            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16377            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16378            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16379            0 :                     {
   16380            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   16381            0 :                       tree res = generic_simplify_577 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   16382            0 :                       if (res) return res;
   16383              :                     }
   16384              :                   }
   16385              :                 break;
   16386            0 :               case CFN_COND_FNMS:
   16387            0 :                 if (call_expr_nargs (_q40) == 5)
   16388              :     {
   16389            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16390            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16391            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16392            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16393            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16394            0 :                     {
   16395            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   16396            0 :                       tree res = generic_simplify_577 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   16397            0 :                       if (res) return res;
   16398              :                     }
   16399              :                   }
   16400              :                 break;
   16401              :               default:;
   16402              :               }
   16403              :             break;
   16404              :           default:;
   16405              :           }
   16406              :         break;
   16407              :       }
   16408           12 :     case CALL_EXPR:
   16409           12 :       switch (get_call_combined_fn (_p2))
   16410              :         {
   16411            0 :         case CFN_COND_FMA:
   16412            0 :           if (call_expr_nargs (_p2) == 5)
   16413              :     {
   16414            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16415            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16416            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16417            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16418            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16419            0 :               {
   16420            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   16421            0 :                 tree res = generic_simplify_577 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16422            0 :                 if (res) return res;
   16423              :               }
   16424              :             }
   16425              :           break;
   16426            0 :         case CFN_COND_FMS:
   16427            0 :           if (call_expr_nargs (_p2) == 5)
   16428              :     {
   16429            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16430            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16431            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16432            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16433            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16434            0 :               {
   16435            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   16436            0 :                 tree res = generic_simplify_577 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16437            0 :                 if (res) return res;
   16438              :               }
   16439              :             }
   16440              :           break;
   16441            0 :         case CFN_COND_FNMA:
   16442            0 :           if (call_expr_nargs (_p2) == 5)
   16443              :     {
   16444            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16445            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16446            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16447            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16448            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16449            0 :               {
   16450            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   16451            0 :                 tree res = generic_simplify_577 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   16452            0 :                 if (res) return res;
   16453              :               }
   16454              :             }
   16455              :           break;
   16456            0 :         case CFN_COND_FNMS:
   16457            0 :           if (call_expr_nargs (_p2) == 5)
   16458              :     {
   16459            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16460            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16461            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16462            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16463            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16464            0 :               {
   16465            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   16466            0 :                 tree res = generic_simplify_577 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   16467            0 :                 if (res) return res;
   16468              :               }
   16469              :             }
   16470              :           break;
   16471              :         default:;
   16472              :         }
   16473              :       break;
   16474       454412 :     default:;
   16475              :     }
   16476       454412 :   switch (TREE_CODE (_p1))
   16477              :     {
   16478            0 :     case VIEW_CONVERT_EXPR:
   16479            0 :       {
   16480            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16481            0 :         switch (TREE_CODE (_q30))
   16482              :           {
   16483            0 :           case CALL_EXPR:
   16484            0 :             switch (get_call_combined_fn (_q30))
   16485              :               {
   16486            0 :               case CFN_COND_LEN_ADD:
   16487            0 :                 if (call_expr_nargs (_q30) == 6)
   16488              :     {
   16489            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16490            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16491            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16492            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16493            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16494            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16495            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16496              :                       {
   16497            0 :                         {
   16498            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16499            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16500            0 :                           if (res) return res;
   16501              :                         }
   16502              :                       }
   16503              :                   }
   16504              :                 break;
   16505            0 :               case CFN_COND_LEN_AND:
   16506            0 :                 if (call_expr_nargs (_q30) == 6)
   16507              :     {
   16508            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16509            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16510            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16511            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16512            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16513            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16514            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16515              :                       {
   16516            0 :                         {
   16517            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16518            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16519            0 :                           if (res) return res;
   16520              :                         }
   16521              :                       }
   16522              :                   }
   16523              :                 break;
   16524            0 :               case CFN_COND_LEN_DIV:
   16525            0 :                 if (call_expr_nargs (_q30) == 6)
   16526              :     {
   16527            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16528            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16529            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16530            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16531            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16532            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16533            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16534              :                       {
   16535            0 :                         {
   16536            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16537            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16538            0 :                           if (res) return res;
   16539              :                         }
   16540              :                       }
   16541              :                   }
   16542              :                 break;
   16543            0 :               case CFN_COND_LEN_IOR:
   16544            0 :                 if (call_expr_nargs (_q30) == 6)
   16545              :     {
   16546            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16547            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16548            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16549            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16550            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16551            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16552            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16553              :                       {
   16554            0 :                         {
   16555            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16556            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16557            0 :                           if (res) return res;
   16558              :                         }
   16559              :                       }
   16560              :                   }
   16561              :                 break;
   16562            0 :               case CFN_COND_LEN_MAX:
   16563            0 :                 if (call_expr_nargs (_q30) == 6)
   16564              :     {
   16565            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16566            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16567            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16568            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16569            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16570            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16571            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16572              :                       {
   16573            0 :                         {
   16574            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16575            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16576            0 :                           if (res) return res;
   16577              :                         }
   16578              :                       }
   16579              :                   }
   16580              :                 break;
   16581            0 :               case CFN_COND_LEN_MIN:
   16582            0 :                 if (call_expr_nargs (_q30) == 6)
   16583              :     {
   16584            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16585            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16586            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16587            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16588            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16589            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16590            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16591              :                       {
   16592            0 :                         {
   16593            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16594            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16595            0 :                           if (res) return res;
   16596              :                         }
   16597              :                       }
   16598              :                   }
   16599              :                 break;
   16600            0 :               case CFN_COND_LEN_MOD:
   16601            0 :                 if (call_expr_nargs (_q30) == 6)
   16602              :     {
   16603            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16604            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16605            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16606            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16607            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16608            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16609            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16610              :                       {
   16611            0 :                         {
   16612            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16613            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16614            0 :                           if (res) return res;
   16615              :                         }
   16616              :                       }
   16617              :                   }
   16618              :                 break;
   16619            0 :               case CFN_COND_LEN_MUL:
   16620            0 :                 if (call_expr_nargs (_q30) == 6)
   16621              :     {
   16622            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16623            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16624            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16625            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16626            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16627            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16628            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16629              :                       {
   16630            0 :                         {
   16631            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16632            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16633            0 :                           if (res) return res;
   16634              :                         }
   16635              :                       }
   16636              :                   }
   16637              :                 break;
   16638            0 :               case CFN_COND_LEN_SHL:
   16639            0 :                 if (call_expr_nargs (_q30) == 6)
   16640              :     {
   16641            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16642            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16643            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16644            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16645            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16646            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16647            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16648              :                       {
   16649            0 :                         {
   16650            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16651            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16652            0 :                           if (res) return res;
   16653              :                         }
   16654              :                       }
   16655              :                   }
   16656              :                 break;
   16657            0 :               case CFN_COND_LEN_SHR:
   16658            0 :                 if (call_expr_nargs (_q30) == 6)
   16659              :     {
   16660            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16661            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16662            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16663            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16664            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16665            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16666            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16667              :                       {
   16668            0 :                         {
   16669            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16670            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16671            0 :                           if (res) return res;
   16672              :                         }
   16673              :                       }
   16674              :                   }
   16675              :                 break;
   16676            0 :               case CFN_COND_LEN_SUB:
   16677            0 :                 if (call_expr_nargs (_q30) == 6)
   16678              :     {
   16679            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16680            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16681            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16682            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16683            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16684            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16685            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16686              :                       {
   16687            0 :                         {
   16688            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16689            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16690            0 :                           if (res) return res;
   16691              :                         }
   16692              :                       }
   16693              :                   }
   16694              :                 break;
   16695            0 :               case CFN_COND_LEN_XOR:
   16696            0 :                 if (call_expr_nargs (_q30) == 6)
   16697              :     {
   16698            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16699            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16700            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16701            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16702            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16703            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16704            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16705              :                       {
   16706            0 :                         {
   16707            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16708            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16709            0 :                           if (res) return res;
   16710              :                         }
   16711              :                       }
   16712              :                   }
   16713              :                 break;
   16714            0 :               case CFN_COND_LEN_FMAX:
   16715            0 :                 if (call_expr_nargs (_q30) == 6)
   16716              :     {
   16717            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16718            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16719            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16720            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16721            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16722            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16723            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16724              :                       {
   16725            0 :                         {
   16726            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16727            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16728            0 :                           if (res) return res;
   16729              :                         }
   16730              :                       }
   16731              :                   }
   16732              :                 break;
   16733            0 :               case CFN_COND_LEN_FMIN:
   16734            0 :                 if (call_expr_nargs (_q30) == 6)
   16735              :     {
   16736            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16737            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16738            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16739            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16740            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16741            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16742            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16743              :                       {
   16744            0 :                         {
   16745            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16746            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16747            0 :                           if (res) return res;
   16748              :                         }
   16749              :                       }
   16750              :                   }
   16751              :                 break;
   16752            0 :               case CFN_COND_LEN_RDIV:
   16753            0 :                 if (call_expr_nargs (_q30) == 6)
   16754              :     {
   16755            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16756            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16757            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16758            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16759            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16760            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16761            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16762              :                       {
   16763            0 :                         {
   16764            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16765            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16766            0 :                           if (res) return res;
   16767              :                         }
   16768              :                       }
   16769              :                   }
   16770              :                 break;
   16771            0 :               case CFN_COND_LEN_COPYSIGN:
   16772            0 :                 if (call_expr_nargs (_q30) == 6)
   16773              :     {
   16774            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16775            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16776            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16777            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16778            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16779            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16780            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16781              :                       {
   16782            0 :                         {
   16783            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16784            0 :                           tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16785            0 :                           if (res) return res;
   16786              :                         }
   16787              :                       }
   16788              :                   }
   16789              :                 break;
   16790              :               default:;
   16791              :               }
   16792              :             break;
   16793              :           default:;
   16794              :           }
   16795              :         break;
   16796              :       }
   16797           12 :     case CALL_EXPR:
   16798           12 :       switch (get_call_combined_fn (_p1))
   16799              :         {
   16800            0 :         case CFN_COND_LEN_ADD:
   16801            0 :           if (call_expr_nargs (_p1) == 6)
   16802              :     {
   16803            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16804            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16805            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16806            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16807            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16808            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16809            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16810              :                 {
   16811            0 :                   {
   16812            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16813            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16814            0 :                     if (res) return res;
   16815              :                   }
   16816              :                 }
   16817              :             }
   16818              :           break;
   16819            0 :         case CFN_COND_LEN_AND:
   16820            0 :           if (call_expr_nargs (_p1) == 6)
   16821              :     {
   16822            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16823            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16824            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16825            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16826            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16827            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16828            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16829              :                 {
   16830            0 :                   {
   16831            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16832            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16833            0 :                     if (res) return res;
   16834              :                   }
   16835              :                 }
   16836              :             }
   16837              :           break;
   16838            0 :         case CFN_COND_LEN_DIV:
   16839            0 :           if (call_expr_nargs (_p1) == 6)
   16840              :     {
   16841            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16842            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16843            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16844            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16845            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16846            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16847            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16848              :                 {
   16849            0 :                   {
   16850            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16851            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16852            0 :                     if (res) return res;
   16853              :                   }
   16854              :                 }
   16855              :             }
   16856              :           break;
   16857            0 :         case CFN_COND_LEN_IOR:
   16858            0 :           if (call_expr_nargs (_p1) == 6)
   16859              :     {
   16860            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16861            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16862            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16863            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16864            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16865            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16866            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16867              :                 {
   16868            0 :                   {
   16869            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16870            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16871            0 :                     if (res) return res;
   16872              :                   }
   16873              :                 }
   16874              :             }
   16875              :           break;
   16876            0 :         case CFN_COND_LEN_MAX:
   16877            0 :           if (call_expr_nargs (_p1) == 6)
   16878              :     {
   16879            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16880            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16881            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16882            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16883            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16884            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16885            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16886              :                 {
   16887            0 :                   {
   16888            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16889            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16890            0 :                     if (res) return res;
   16891              :                   }
   16892              :                 }
   16893              :             }
   16894              :           break;
   16895            0 :         case CFN_COND_LEN_MIN:
   16896            0 :           if (call_expr_nargs (_p1) == 6)
   16897              :     {
   16898            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16899            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16900            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16901            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16902            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16903            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16904            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16905              :                 {
   16906            0 :                   {
   16907            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16908            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16909            0 :                     if (res) return res;
   16910              :                   }
   16911              :                 }
   16912              :             }
   16913              :           break;
   16914            0 :         case CFN_COND_LEN_MOD:
   16915            0 :           if (call_expr_nargs (_p1) == 6)
   16916              :     {
   16917            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16918            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16919            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16920            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16921            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16922            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16923            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16924              :                 {
   16925            0 :                   {
   16926            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16927            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16928            0 :                     if (res) return res;
   16929              :                   }
   16930              :                 }
   16931              :             }
   16932              :           break;
   16933            0 :         case CFN_COND_LEN_MUL:
   16934            0 :           if (call_expr_nargs (_p1) == 6)
   16935              :     {
   16936            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16937            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16938            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16939            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16940            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16941            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16942            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16943              :                 {
   16944            0 :                   {
   16945            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16946            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16947            0 :                     if (res) return res;
   16948              :                   }
   16949              :                 }
   16950              :             }
   16951              :           break;
   16952            0 :         case CFN_COND_LEN_SHL:
   16953            0 :           if (call_expr_nargs (_p1) == 6)
   16954              :     {
   16955            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16956            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16957            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16958            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16959            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16960            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16961            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16962              :                 {
   16963            0 :                   {
   16964            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16965            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16966            0 :                     if (res) return res;
   16967              :                   }
   16968              :                 }
   16969              :             }
   16970              :           break;
   16971            0 :         case CFN_COND_LEN_SHR:
   16972            0 :           if (call_expr_nargs (_p1) == 6)
   16973              :     {
   16974            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16975            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16976            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16977            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16978            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16979            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16980            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16981              :                 {
   16982            0 :                   {
   16983            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16984            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16985            0 :                     if (res) return res;
   16986              :                   }
   16987              :                 }
   16988              :             }
   16989              :           break;
   16990            0 :         case CFN_COND_LEN_SUB:
   16991            0 :           if (call_expr_nargs (_p1) == 6)
   16992              :     {
   16993            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16994            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16995            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16996            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16997            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16998            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16999            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17000              :                 {
   17001            0 :                   {
   17002            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   17003            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   17004            0 :                     if (res) return res;
   17005              :                   }
   17006              :                 }
   17007              :             }
   17008              :           break;
   17009            0 :         case CFN_COND_LEN_XOR:
   17010            0 :           if (call_expr_nargs (_p1) == 6)
   17011              :     {
   17012            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17013            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17014            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17015            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17016            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17017            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17018            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17019              :                 {
   17020            0 :                   {
   17021            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   17022            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   17023            0 :                     if (res) return res;
   17024              :                   }
   17025              :                 }
   17026              :             }
   17027              :           break;
   17028            0 :         case CFN_COND_LEN_FMAX:
   17029            0 :           if (call_expr_nargs (_p1) == 6)
   17030              :     {
   17031            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17032            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17033            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17034            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17035            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17036            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17037            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17038              :                 {
   17039            0 :                   {
   17040            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   17041            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   17042            0 :                     if (res) return res;
   17043              :                   }
   17044              :                 }
   17045              :             }
   17046              :           break;
   17047            0 :         case CFN_COND_LEN_FMIN:
   17048            0 :           if (call_expr_nargs (_p1) == 6)
   17049              :     {
   17050            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17051            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17052            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17053            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17054            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17055            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17056            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17057              :                 {
   17058            0 :                   {
   17059            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   17060            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   17061            0 :                     if (res) return res;
   17062              :                   }
   17063              :                 }
   17064              :             }
   17065              :           break;
   17066            0 :         case CFN_COND_LEN_RDIV:
   17067            0 :           if (call_expr_nargs (_p1) == 6)
   17068              :     {
   17069            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17070            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17071            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17072            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17073            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17074            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17075            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17076              :                 {
   17077            0 :                   {
   17078            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   17079            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   17080            0 :                     if (res) return res;
   17081              :                   }
   17082              :                 }
   17083              :             }
   17084              :           break;
   17085            0 :         case CFN_COND_LEN_COPYSIGN:
   17086            0 :           if (call_expr_nargs (_p1) == 6)
   17087              :     {
   17088            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17089            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17090            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17091            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17092            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17093            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17094            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17095              :                 {
   17096            0 :                   {
   17097            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   17098            0 :                     tree res = generic_simplify_578 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   17099            0 :                     if (res) return res;
   17100              :                   }
   17101              :                 }
   17102              :             }
   17103              :           break;
   17104              :         default:;
   17105              :         }
   17106              :       break;
   17107       454412 :     default:;
   17108              :     }
   17109       454412 :   switch (TREE_CODE (_p2))
   17110              :     {
   17111            0 :     case VIEW_CONVERT_EXPR:
   17112            0 :       {
   17113            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   17114            0 :         switch (TREE_CODE (_q40))
   17115              :           {
   17116            0 :           case CALL_EXPR:
   17117            0 :             switch (get_call_combined_fn (_q40))
   17118              :               {
   17119            0 :               case CFN_COND_LEN_ADD:
   17120            0 :                 if (call_expr_nargs (_q40) == 6)
   17121              :     {
   17122            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17123            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17124            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17125            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17126            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17127            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17128            0 :                     {
   17129            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17130            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   17131            0 :                       if (res) return res;
   17132              :                     }
   17133              :                   }
   17134              :                 break;
   17135            0 :               case CFN_COND_LEN_AND:
   17136            0 :                 if (call_expr_nargs (_q40) == 6)
   17137              :     {
   17138            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17139            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17140            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17141            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17142            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17143            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17144            0 :                     {
   17145            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17146            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   17147            0 :                       if (res) return res;
   17148              :                     }
   17149              :                   }
   17150              :                 break;
   17151            0 :               case CFN_COND_LEN_DIV:
   17152            0 :                 if (call_expr_nargs (_q40) == 6)
   17153              :     {
   17154            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17155            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17156            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17157            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17158            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17159            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17160            0 :                     {
   17161            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17162            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   17163            0 :                       if (res) return res;
   17164              :                     }
   17165              :                   }
   17166              :                 break;
   17167            0 :               case CFN_COND_LEN_IOR:
   17168            0 :                 if (call_expr_nargs (_q40) == 6)
   17169              :     {
   17170            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17171            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17172            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17173            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17174            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17175            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17176            0 :                     {
   17177            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17178            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   17179            0 :                       if (res) return res;
   17180              :                     }
   17181              :                   }
   17182              :                 break;
   17183            0 :               case CFN_COND_LEN_MAX:
   17184            0 :                 if (call_expr_nargs (_q40) == 6)
   17185              :     {
   17186            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17187            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17188            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17189            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17190            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17191            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17192            0 :                     {
   17193            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17194            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   17195            0 :                       if (res) return res;
   17196              :                     }
   17197              :                   }
   17198              :                 break;
   17199            0 :               case CFN_COND_LEN_MIN:
   17200            0 :                 if (call_expr_nargs (_q40) == 6)
   17201              :     {
   17202            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17203            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17204            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17205            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17206            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17207            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17208            0 :                     {
   17209            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17210            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   17211            0 :                       if (res) return res;
   17212              :                     }
   17213              :                   }
   17214              :                 break;
   17215            0 :               case CFN_COND_LEN_MOD:
   17216            0 :                 if (call_expr_nargs (_q40) == 6)
   17217              :     {
   17218            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17219            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17220            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17221            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17222            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17223            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17224            0 :                     {
   17225            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17226            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   17227            0 :                       if (res) return res;
   17228              :                     }
   17229              :                   }
   17230              :                 break;
   17231            0 :               case CFN_COND_LEN_MUL:
   17232            0 :                 if (call_expr_nargs (_q40) == 6)
   17233              :     {
   17234            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17235            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17236            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17237            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17238            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17239            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17240            0 :                     {
   17241            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17242            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   17243            0 :                       if (res) return res;
   17244              :                     }
   17245              :                   }
   17246              :                 break;
   17247            0 :               case CFN_COND_LEN_SHL:
   17248            0 :                 if (call_expr_nargs (_q40) == 6)
   17249              :     {
   17250            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17251            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17252            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17253            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17254            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17255            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17256            0 :                     {
   17257            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17258            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   17259            0 :                       if (res) return res;
   17260              :                     }
   17261              :                   }
   17262              :                 break;
   17263            0 :               case CFN_COND_LEN_SHR:
   17264            0 :                 if (call_expr_nargs (_q40) == 6)
   17265              :     {
   17266            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17267            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17268            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17269            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17270            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17271            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17272            0 :                     {
   17273            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17274            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   17275            0 :                       if (res) return res;
   17276              :                     }
   17277              :                   }
   17278              :                 break;
   17279            0 :               case CFN_COND_LEN_SUB:
   17280            0 :                 if (call_expr_nargs (_q40) == 6)
   17281              :     {
   17282            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17283            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17284            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17285            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17286            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17287            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17288            0 :                     {
   17289            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17290            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   17291            0 :                       if (res) return res;
   17292              :                     }
   17293              :                   }
   17294              :                 break;
   17295            0 :               case CFN_COND_LEN_XOR:
   17296            0 :                 if (call_expr_nargs (_q40) == 6)
   17297              :     {
   17298            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17299            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17300            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17301            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17302            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17303            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17304            0 :                     {
   17305            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17306            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   17307            0 :                       if (res) return res;
   17308              :                     }
   17309              :                   }
   17310              :                 break;
   17311            0 :               case CFN_COND_LEN_FMAX:
   17312            0 :                 if (call_expr_nargs (_q40) == 6)
   17313              :     {
   17314            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17315            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17316            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17317            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17318            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17319            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17320            0 :                     {
   17321            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17322            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   17323            0 :                       if (res) return res;
   17324              :                     }
   17325              :                   }
   17326              :                 break;
   17327            0 :               case CFN_COND_LEN_FMIN:
   17328            0 :                 if (call_expr_nargs (_q40) == 6)
   17329              :     {
   17330            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17331            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17332            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17333            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17334            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17335            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17336            0 :                     {
   17337            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17338            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   17339            0 :                       if (res) return res;
   17340              :                     }
   17341              :                   }
   17342              :                 break;
   17343            0 :               case CFN_COND_LEN_RDIV:
   17344            0 :                 if (call_expr_nargs (_q40) == 6)
   17345              :     {
   17346            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17347            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17348            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17349            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17350            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17351            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17352            0 :                     {
   17353            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17354            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   17355            0 :                       if (res) return res;
   17356              :                     }
   17357              :                   }
   17358              :                 break;
   17359            0 :               case CFN_COND_LEN_COPYSIGN:
   17360            0 :                 if (call_expr_nargs (_q40) == 6)
   17361              :     {
   17362            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17363            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17364            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17365            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17366            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17367            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17368            0 :                     {
   17369            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   17370            0 :                       tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   17371            0 :                       if (res) return res;
   17372              :                     }
   17373              :                   }
   17374              :                 break;
   17375              :               default:;
   17376              :               }
   17377              :             break;
   17378              :           default:;
   17379              :           }
   17380              :         break;
   17381              :       }
   17382           12 :     case CALL_EXPR:
   17383           12 :       switch (get_call_combined_fn (_p2))
   17384              :         {
   17385            0 :         case CFN_COND_LEN_ADD:
   17386            0 :           if (call_expr_nargs (_p2) == 6)
   17387              :     {
   17388            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17389            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17390            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17391            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17392            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17393            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17394            0 :               {
   17395            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17396            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   17397            0 :                 if (res) return res;
   17398              :               }
   17399              :             }
   17400              :           break;
   17401            0 :         case CFN_COND_LEN_AND:
   17402            0 :           if (call_expr_nargs (_p2) == 6)
   17403              :     {
   17404            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17405            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17406            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17407            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17408            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17409            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17410            0 :               {
   17411            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17412            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   17413            0 :                 if (res) return res;
   17414              :               }
   17415              :             }
   17416              :           break;
   17417            0 :         case CFN_COND_LEN_DIV:
   17418            0 :           if (call_expr_nargs (_p2) == 6)
   17419              :     {
   17420            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17421            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17422            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17423            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17424            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17425            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17426            0 :               {
   17427            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17428            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   17429            0 :                 if (res) return res;
   17430              :               }
   17431              :             }
   17432              :           break;
   17433            0 :         case CFN_COND_LEN_IOR:
   17434            0 :           if (call_expr_nargs (_p2) == 6)
   17435              :     {
   17436            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17437            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17438            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17439            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17440            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17441            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17442            0 :               {
   17443            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17444            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   17445            0 :                 if (res) return res;
   17446              :               }
   17447              :             }
   17448              :           break;
   17449            0 :         case CFN_COND_LEN_MAX:
   17450            0 :           if (call_expr_nargs (_p2) == 6)
   17451              :     {
   17452            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17453            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17454            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17455            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17456            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17457            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17458            0 :               {
   17459            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17460            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   17461            0 :                 if (res) return res;
   17462              :               }
   17463              :             }
   17464              :           break;
   17465            0 :         case CFN_COND_LEN_MIN:
   17466            0 :           if (call_expr_nargs (_p2) == 6)
   17467              :     {
   17468            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17469            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17470            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17471            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17472            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17473            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17474            0 :               {
   17475            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17476            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   17477            0 :                 if (res) return res;
   17478              :               }
   17479              :             }
   17480              :           break;
   17481            0 :         case CFN_COND_LEN_MOD:
   17482            0 :           if (call_expr_nargs (_p2) == 6)
   17483              :     {
   17484            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17485            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17486            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17487            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17488            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17489            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17490            0 :               {
   17491            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17492            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   17493            0 :                 if (res) return res;
   17494              :               }
   17495              :             }
   17496              :           break;
   17497            0 :         case CFN_COND_LEN_MUL:
   17498            0 :           if (call_expr_nargs (_p2) == 6)
   17499              :     {
   17500            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17501            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17502            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17503            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17504            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17505            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17506            0 :               {
   17507            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17508            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   17509            0 :                 if (res) return res;
   17510              :               }
   17511              :             }
   17512              :           break;
   17513            0 :         case CFN_COND_LEN_SHL:
   17514            0 :           if (call_expr_nargs (_p2) == 6)
   17515              :     {
   17516            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17517            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17518            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17519            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17520            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17521            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17522            0 :               {
   17523            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17524            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   17525            0 :                 if (res) return res;
   17526              :               }
   17527              :             }
   17528              :           break;
   17529            0 :         case CFN_COND_LEN_SHR:
   17530            0 :           if (call_expr_nargs (_p2) == 6)
   17531              :     {
   17532            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17533            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17534            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17535            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17536            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17537            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17538            0 :               {
   17539            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17540            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   17541            0 :                 if (res) return res;
   17542              :               }
   17543              :             }
   17544              :           break;
   17545            0 :         case CFN_COND_LEN_SUB:
   17546            0 :           if (call_expr_nargs (_p2) == 6)
   17547              :     {
   17548            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17549            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17550            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17551            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17552            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17553            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17554            0 :               {
   17555            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17556            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   17557            0 :                 if (res) return res;
   17558              :               }
   17559              :             }
   17560              :           break;
   17561            0 :         case CFN_COND_LEN_XOR:
   17562            0 :           if (call_expr_nargs (_p2) == 6)
   17563              :     {
   17564            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17565            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17566            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17567            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17568            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17569            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17570            0 :               {
   17571            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17572            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   17573            0 :                 if (res) return res;
   17574              :               }
   17575              :             }
   17576              :           break;
   17577            0 :         case CFN_COND_LEN_FMAX:
   17578            0 :           if (call_expr_nargs (_p2) == 6)
   17579              :     {
   17580            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17581            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17582            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17583            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17584            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17585            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17586            0 :               {
   17587            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17588            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   17589            0 :                 if (res) return res;
   17590              :               }
   17591              :             }
   17592              :           break;
   17593            0 :         case CFN_COND_LEN_FMIN:
   17594            0 :           if (call_expr_nargs (_p2) == 6)
   17595              :     {
   17596            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17597            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17598            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17599            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17600            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17601            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17602            0 :               {
   17603            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17604            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   17605            0 :                 if (res) return res;
   17606              :               }
   17607              :             }
   17608              :           break;
   17609            0 :         case CFN_COND_LEN_RDIV:
   17610            0 :           if (call_expr_nargs (_p2) == 6)
   17611              :     {
   17612            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17613            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17614            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17615            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17616            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17617            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17618            0 :               {
   17619            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17620            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   17621            0 :                 if (res) return res;
   17622              :               }
   17623              :             }
   17624              :           break;
   17625            0 :         case CFN_COND_LEN_COPYSIGN:
   17626            0 :           if (call_expr_nargs (_p2) == 6)
   17627              :     {
   17628            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17629            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17630            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17631            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17632            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17633            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17634            0 :               {
   17635            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17636            0 :                 tree res = generic_simplify_579 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   17637            0 :                 if (res) return res;
   17638              :               }
   17639              :             }
   17640              :           break;
   17641              :         default:;
   17642              :         }
   17643              :       break;
   17644       454412 :     default:;
   17645              :     }
   17646       454412 :   switch (TREE_CODE (_p1))
   17647              :     {
   17648            0 :     case VIEW_CONVERT_EXPR:
   17649            0 :       {
   17650            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   17651            0 :         switch (TREE_CODE (_q30))
   17652              :           {
   17653            0 :           case CALL_EXPR:
   17654            0 :             switch (get_call_combined_fn (_q30))
   17655              :               {
   17656            0 :               case CFN_COND_LEN_FMA:
   17657            0 :                 if (call_expr_nargs (_q30) == 7)
   17658              :     {
   17659            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17660            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   17661            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   17662            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   17663            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   17664            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   17665            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   17666            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17667              :                       {
   17668            0 :                         {
   17669            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   17670            0 :                           tree res = generic_simplify_580 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   17671            0 :                           if (res) return res;
   17672              :                         }
   17673              :                       }
   17674              :                   }
   17675              :                 break;
   17676            0 :               case CFN_COND_LEN_FMS:
   17677            0 :                 if (call_expr_nargs (_q30) == 7)
   17678              :     {
   17679            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17680            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   17681            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   17682            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   17683            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   17684            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   17685            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   17686            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17687              :                       {
   17688            0 :                         {
   17689            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   17690            0 :                           tree res = generic_simplify_580 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   17691            0 :                           if (res) return res;
   17692              :                         }
   17693              :                       }
   17694              :                   }
   17695              :                 break;
   17696            0 :               case CFN_COND_LEN_FNMA:
   17697            0 :                 if (call_expr_nargs (_q30) == 7)
   17698              :     {
   17699            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17700            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   17701            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   17702            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   17703            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   17704            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   17705            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   17706            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17707              :                       {
   17708            0 :                         {
   17709            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   17710            0 :                           tree res = generic_simplify_580 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   17711            0 :                           if (res) return res;
   17712              :                         }
   17713              :                       }
   17714              :                   }
   17715              :                 break;
   17716            0 :               case CFN_COND_LEN_FNMS:
   17717            0 :                 if (call_expr_nargs (_q30) == 7)
   17718              :     {
   17719            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17720            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   17721            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   17722            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   17723            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   17724            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   17725            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   17726            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17727              :                       {
   17728            0 :                         {
   17729            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   17730            0 :                           tree res = generic_simplify_580 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   17731            0 :                           if (res) return res;
   17732              :                         }
   17733              :                       }
   17734              :                   }
   17735              :                 break;
   17736              :               default:;
   17737              :               }
   17738              :             break;
   17739              :           default:;
   17740              :           }
   17741              :         break;
   17742              :       }
   17743           12 :     case CALL_EXPR:
   17744           12 :       switch (get_call_combined_fn (_p1))
   17745              :         {
   17746            0 :         case CFN_COND_LEN_FMA:
   17747            0 :           if (call_expr_nargs (_p1) == 7)
   17748              :     {
   17749            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17750            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17751            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17752            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17753            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17754            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17755            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   17756            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17757              :                 {
   17758            0 :                   {
   17759            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   17760            0 :                     tree res = generic_simplify_580 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   17761            0 :                     if (res) return res;
   17762              :                   }
   17763              :                 }
   17764              :             }
   17765              :           break;
   17766            0 :         case CFN_COND_LEN_FMS:
   17767            0 :           if (call_expr_nargs (_p1) == 7)
   17768              :     {
   17769            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17770            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17771            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17772            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17773            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17774            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17775            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   17776            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17777              :                 {
   17778            0 :                   {
   17779            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   17780            0 :                     tree res = generic_simplify_580 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   17781            0 :                     if (res) return res;
   17782              :                   }
   17783              :                 }
   17784              :             }
   17785              :           break;
   17786            0 :         case CFN_COND_LEN_FNMA:
   17787            0 :           if (call_expr_nargs (_p1) == 7)
   17788              :     {
   17789            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17790            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17791            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17792            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17793            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17794            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17795            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   17796            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17797              :                 {
   17798            0 :                   {
   17799            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   17800            0 :                     tree res = generic_simplify_580 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   17801            0 :                     if (res) return res;
   17802              :                   }
   17803              :                 }
   17804              :             }
   17805              :           break;
   17806            0 :         case CFN_COND_LEN_FNMS:
   17807            0 :           if (call_expr_nargs (_p1) == 7)
   17808              :     {
   17809            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17810            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17811            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17812            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17813            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17814            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17815            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   17816            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17817              :                 {
   17818            0 :                   {
   17819            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   17820            0 :                     tree res = generic_simplify_580 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   17821            0 :                     if (res) return res;
   17822              :                   }
   17823              :                 }
   17824              :             }
   17825              :           break;
   17826              :         default:;
   17827              :         }
   17828              :       break;
   17829       454412 :     default:;
   17830              :     }
   17831       454412 :   switch (TREE_CODE (_p2))
   17832              :     {
   17833            0 :     case VIEW_CONVERT_EXPR:
   17834            0 :       {
   17835            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   17836            0 :         switch (TREE_CODE (_q40))
   17837              :           {
   17838            0 :           case CALL_EXPR:
   17839            0 :             switch (get_call_combined_fn (_q40))
   17840              :               {
   17841            0 :               case CFN_COND_LEN_FMA:
   17842            0 :                 if (call_expr_nargs (_q40) == 7)
   17843              :     {
   17844            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17845            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17846            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17847            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17848            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17849            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17850            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   17851            0 :                     {
   17852            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   17853            0 :                       tree res = generic_simplify_581 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   17854            0 :                       if (res) return res;
   17855              :                     }
   17856              :                   }
   17857              :                 break;
   17858            0 :               case CFN_COND_LEN_FMS:
   17859            0 :                 if (call_expr_nargs (_q40) == 7)
   17860              :     {
   17861            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17862            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17863            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17864            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17865            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17866            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17867            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   17868            0 :                     {
   17869            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   17870            0 :                       tree res = generic_simplify_581 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   17871            0 :                       if (res) return res;
   17872              :                     }
   17873              :                   }
   17874              :                 break;
   17875            0 :               case CFN_COND_LEN_FNMA:
   17876            0 :                 if (call_expr_nargs (_q40) == 7)
   17877              :     {
   17878            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17879            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17880            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17881            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17882            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17883            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17884            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   17885            0 :                     {
   17886            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   17887            0 :                       tree res = generic_simplify_581 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   17888            0 :                       if (res) return res;
   17889              :                     }
   17890              :                   }
   17891              :                 break;
   17892            0 :               case CFN_COND_LEN_FNMS:
   17893            0 :                 if (call_expr_nargs (_q40) == 7)
   17894              :     {
   17895            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17896            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17897            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17898            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17899            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17900            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17901            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   17902            0 :                     {
   17903            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   17904            0 :                       tree res = generic_simplify_581 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   17905            0 :                       if (res) return res;
   17906              :                     }
   17907              :                   }
   17908              :                 break;
   17909              :               default:;
   17910              :               }
   17911              :             break;
   17912              :           default:;
   17913              :           }
   17914              :         break;
   17915              :       }
   17916           12 :     case CALL_EXPR:
   17917           12 :       switch (get_call_combined_fn (_p2))
   17918              :         {
   17919            0 :         case CFN_COND_LEN_FMA:
   17920            0 :           if (call_expr_nargs (_p2) == 7)
   17921              :     {
   17922            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17923            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17924            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17925            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17926            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17927            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17928            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   17929            0 :               {
   17930            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   17931            0 :                 tree res = generic_simplify_581 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   17932            0 :                 if (res) return res;
   17933              :               }
   17934              :             }
   17935              :           break;
   17936            0 :         case CFN_COND_LEN_FMS:
   17937            0 :           if (call_expr_nargs (_p2) == 7)
   17938              :     {
   17939            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17940            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17941            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17942            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17943            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17944            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17945            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   17946            0 :               {
   17947            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   17948            0 :                 tree res = generic_simplify_581 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   17949            0 :                 if (res) return res;
   17950              :               }
   17951              :             }
   17952              :           break;
   17953            0 :         case CFN_COND_LEN_FNMA:
   17954            0 :           if (call_expr_nargs (_p2) == 7)
   17955              :     {
   17956            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17957            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17958            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17959            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17960            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17961            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17962            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   17963            0 :               {
   17964            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   17965            0 :                 tree res = generic_simplify_581 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   17966            0 :                 if (res) return res;
   17967              :               }
   17968              :             }
   17969              :           break;
   17970            0 :         case CFN_COND_LEN_FNMS:
   17971            0 :           if (call_expr_nargs (_p2) == 7)
   17972              :     {
   17973            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17974            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17975            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17976            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17977            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17978            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17979            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   17980            0 :               {
   17981            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   17982            0 :                 tree res = generic_simplify_581 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   17983            0 :                 if (res) return res;
   17984              :               }
   17985              :             }
   17986              :           break;
   17987              :         default:;
   17988              :         }
   17989              :       break;
   17990       454412 :     default:;
   17991              :     }
   17992       454412 :   switch (TREE_CODE (_p1))
   17993              :     {
   17994           12 :     case CALL_EXPR:
   17995           12 :       switch (get_call_combined_fn (_p1))
   17996              :         {
   17997            0 :         case CFN_COND_ADD:
   17998            0 :           if (call_expr_nargs (_p1) == 4)
   17999              :     {
   18000            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18001            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18002            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18003            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18004            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18005              :                 {
   18006            0 :                   {
   18007            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18008            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   18009            0 :                     if (res) return res;
   18010              :                   }
   18011              :                 }
   18012              :             }
   18013              :           break;
   18014            0 :         case CFN_COND_AND:
   18015            0 :           if (call_expr_nargs (_p1) == 4)
   18016              :     {
   18017            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18018            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18019            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18020            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18021            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18022              :                 {
   18023            0 :                   {
   18024            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18025            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   18026            0 :                     if (res) return res;
   18027              :                   }
   18028              :                 }
   18029              :             }
   18030              :           break;
   18031            0 :         case CFN_COND_DIV:
   18032            0 :           if (call_expr_nargs (_p1) == 4)
   18033              :     {
   18034            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18035            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18036            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18037            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18038            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18039              :                 {
   18040            0 :                   {
   18041            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18042            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   18043            0 :                     if (res) return res;
   18044              :                   }
   18045              :                 }
   18046              :             }
   18047              :           break;
   18048            0 :         case CFN_COND_FMA:
   18049            0 :           if (call_expr_nargs (_p1) == 5)
   18050              :     {
   18051            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18052            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18053            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18054            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18055            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   18056            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   18057              :                 {
   18058            0 :                   {
   18059            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   18060            0 :                     tree res = generic_simplify_583 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   18061            0 :                     if (res) return res;
   18062              :                   }
   18063              :                 }
   18064              :             }
   18065              :           break;
   18066            0 :         case CFN_COND_FMS:
   18067            0 :           if (call_expr_nargs (_p1) == 5)
   18068              :     {
   18069            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18070            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18071            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18072            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18073            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   18074            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   18075              :                 {
   18076            0 :                   {
   18077            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   18078            0 :                     tree res = generic_simplify_583 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   18079            0 :                     if (res) return res;
   18080              :                   }
   18081              :                 }
   18082              :             }
   18083              :           break;
   18084            0 :         case CFN_COND_IOR:
   18085            0 :           if (call_expr_nargs (_p1) == 4)
   18086              :     {
   18087            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18088            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18089            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18090            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18091            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18092              :                 {
   18093            0 :                   {
   18094            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18095            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   18096            0 :                     if (res) return res;
   18097              :                   }
   18098              :                 }
   18099              :             }
   18100              :           break;
   18101            0 :         case CFN_COND_MAX:
   18102            0 :           if (call_expr_nargs (_p1) == 4)
   18103              :     {
   18104            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18105            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18106            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18107            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18108            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18109              :                 {
   18110            0 :                   {
   18111            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18112            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   18113            0 :                     if (res) return res;
   18114              :                   }
   18115              :                 }
   18116              :             }
   18117              :           break;
   18118            0 :         case CFN_COND_MIN:
   18119            0 :           if (call_expr_nargs (_p1) == 4)
   18120              :     {
   18121            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18122            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18123            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18124            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18125            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18126              :                 {
   18127            0 :                   {
   18128            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18129            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   18130            0 :                     if (res) return res;
   18131              :                   }
   18132              :                 }
   18133              :             }
   18134              :           break;
   18135            0 :         case CFN_COND_MOD:
   18136            0 :           if (call_expr_nargs (_p1) == 4)
   18137              :     {
   18138            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18139            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18140            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18141            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18142            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18143              :                 {
   18144            0 :                   {
   18145            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18146            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   18147            0 :                     if (res) return res;
   18148              :                   }
   18149              :                 }
   18150              :             }
   18151              :           break;
   18152            0 :         case CFN_COND_MUL:
   18153            0 :           if (call_expr_nargs (_p1) == 4)
   18154              :     {
   18155            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18156            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18157            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18158            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18159            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18160              :                 {
   18161            0 :                   {
   18162            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18163            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   18164            0 :                     if (res) return res;
   18165              :                   }
   18166              :                 }
   18167              :             }
   18168              :           break;
   18169            0 :         case CFN_COND_SHL:
   18170            0 :           if (call_expr_nargs (_p1) == 4)
   18171              :     {
   18172            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18173            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18174            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18175            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18176            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18177              :                 {
   18178            0 :                   {
   18179            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18180            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   18181            0 :                     if (res) return res;
   18182              :                   }
   18183              :                 }
   18184              :             }
   18185              :           break;
   18186            0 :         case CFN_COND_SHR:
   18187            0 :           if (call_expr_nargs (_p1) == 4)
   18188              :     {
   18189            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18190            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18191            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18192            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18193            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18194              :                 {
   18195            0 :                   {
   18196            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18197            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   18198            0 :                     if (res) return res;
   18199              :                   }
   18200              :                 }
   18201              :             }
   18202              :           break;
   18203            0 :         case CFN_COND_SUB:
   18204            0 :           if (call_expr_nargs (_p1) == 4)
   18205              :     {
   18206            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18207            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18208            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18209            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18210            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18211              :                 {
   18212            0 :                   {
   18213            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18214            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   18215            0 :                     if (res) return res;
   18216              :                   }
   18217              :                 }
   18218              :             }
   18219              :           break;
   18220            0 :         case CFN_COND_XOR:
   18221            0 :           if (call_expr_nargs (_p1) == 4)
   18222              :     {
   18223            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18224            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18225            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18226            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18227            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18228              :                 {
   18229            0 :                   {
   18230            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18231            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   18232            0 :                     if (res) return res;
   18233              :                   }
   18234              :                 }
   18235              :             }
   18236              :           break;
   18237            0 :         case CFN_COND_COPYSIGN:
   18238            0 :           if (call_expr_nargs (_p1) == 4)
   18239              :     {
   18240            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18241            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18242            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18243            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18244            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18245              :                 {
   18246            0 :                   {
   18247            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18248            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   18249            0 :                     if (res) return res;
   18250              :                   }
   18251              :                 }
   18252              :             }
   18253              :           break;
   18254            0 :         case CFN_COND_FMAX:
   18255            0 :           if (call_expr_nargs (_p1) == 4)
   18256              :     {
   18257            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18258            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18259            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18260            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18261            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18262              :                 {
   18263            0 :                   {
   18264            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18265            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   18266            0 :                     if (res) return res;
   18267              :                   }
   18268              :                 }
   18269              :             }
   18270              :           break;
   18271            0 :         case CFN_COND_FMIN:
   18272            0 :           if (call_expr_nargs (_p1) == 4)
   18273              :     {
   18274            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18275            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18276            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18277            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18278            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18279              :                 {
   18280            0 :                   {
   18281            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18282            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   18283            0 :                     if (res) return res;
   18284              :                   }
   18285              :                 }
   18286              :             }
   18287              :           break;
   18288            0 :         case CFN_COND_FNMA:
   18289            0 :           if (call_expr_nargs (_p1) == 5)
   18290              :     {
   18291            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18292            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18293            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18294            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18295            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   18296            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   18297              :                 {
   18298            0 :                   {
   18299            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   18300            0 :                     tree res = generic_simplify_583 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   18301            0 :                     if (res) return res;
   18302              :                   }
   18303              :                 }
   18304              :             }
   18305              :           break;
   18306            0 :         case CFN_COND_FNMS:
   18307            0 :           if (call_expr_nargs (_p1) == 5)
   18308              :     {
   18309            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18310            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18311            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18312            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18313            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   18314            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   18315              :                 {
   18316            0 :                   {
   18317            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   18318            0 :                     tree res = generic_simplify_583 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   18319            0 :                     if (res) return res;
   18320              :                   }
   18321              :                 }
   18322              :             }
   18323              :           break;
   18324            0 :         case CFN_COND_RDIV:
   18325            0 :           if (call_expr_nargs (_p1) == 4)
   18326              :     {
   18327            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   18328            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   18329            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   18330            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   18331            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   18332              :                 {
   18333            0 :                   {
   18334            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   18335            0 :                     tree res = generic_simplify_582 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   18336            0 :                     if (res) return res;
   18337              :                   }
   18338              :                 }
   18339              :             }
   18340              :           break;
   18341              :         default:;
   18342              :         }
   18343              :       break;
   18344              :     default:;
   18345              :     }
   18346              :   return NULL_TREE;
   18347              : }
   18348              : #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.