LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-8.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 28.1 % 10097 2834
Test Date: 2026-07-11 15:47:05 Functions: 60.3 % 78 47
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    117285033 : tree_bit_xor_cst (tree t, tree *res_ops)
      11              : {
      12    117285033 :   const tree type = TREE_TYPE (t);
      13    117285033 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    117285033 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15    117285033 :   switch (TREE_CODE (t))
      16              :     {
      17        97800 :     case BIT_XOR_EXPR:
      18        97800 :       {
      19        97800 :         tree _p0 = TREE_OPERAND (t, 0);
      20        97800 :         tree _p1 = TREE_OPERAND (t, 1);
      21        97800 :         if (uniform_integer_cst_p (_p1))
      22              :           {
      23         1598 :             {
      24         1598 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      25         1598 :               {
      26         1598 :                 res_ops[0] = captures[0];
      27         1598 :                 res_ops[1] = captures[1];
      28         1598 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 4, __FILE__, __LINE__, false);
      29         1598 :                 return true;
      30              :               }
      31              :             }
      32              :           }
      33              :         break;
      34              :       }
      35              :     default:;
      36              :     }
      37              :   return false;
      38              : }
      39              : 
      40              : bool
      41     80564448 : tree_with_possible_nonzero_bits_1 (tree t)
      42              : {
      43     80564448 :   const tree type = TREE_TYPE (t);
      44     80564448 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      45     80564448 :   if (TREE_SIDE_EFFECTS (t)) return false;
      46     80564448 :   switch (TREE_CODE (t))
      47              :     {
      48     17003934 :     case INTEGER_CST:
      49     17003934 :       {
      50     17003934 :         {
      51     17003934 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      52     17003934 :           {
      53     17003934 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 32, __FILE__, __LINE__, false);
      54     17003934 :             return true;
      55              :           }
      56              :         }
      57            0 :         break;
      58              :       }
      59            0 :     case POLY_INT_CST:
      60            0 :       {
      61            0 :         {
      62            0 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      63            0 :           {
      64            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 33, __FILE__, __LINE__, false);
      65            0 :             return true;
      66              :           }
      67              :         }
      68     26941530 :         break;
      69              :       }
      70     26941530 :     case SSA_NAME:
      71     26941530 :       {
      72     26941530 :         {
      73     26941530 :           tree captures[1] ATTRIBUTE_UNUSED = { t };
      74     26941530 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0]))
      75              : )
      76              :             {
      77     26418863 :               {
      78     26418863 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 34, __FILE__, __LINE__, false);
      79     26418863 :                 return true;
      80              :               }
      81              :             }
      82              :         }
      83              :         break;
      84              :       }
      85              :     default:;
      86              :     }
      87              :   return false;
      88              : }
      89              : 
      90              : bool
      91         2429 : tree_max_value (tree t)
      92              : {
      93         2429 :   const tree type = TREE_TYPE (t);
      94         2429 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      95         2429 :   if (TREE_SIDE_EFFECTS (t)) return false;
      96         2421 :   if (uniform_integer_cst_p (t))
      97              :     {
      98         2156 :       {
      99         2156 :         {
     100         2156 :  tree int_cst = uniform_integer_cst_p (t);
     101         2156 :  tree itype = TREE_TYPE (int_cst);
     102         4312 :             if ((INTEGRAL_TYPE_P (itype)
     103           17 :  || POINTER_TYPE_P (itype))
     104         4329 :  && wi::eq_p (wi::to_wide (int_cst), wi::max_value (itype))
     105              : )
     106              :               {
     107           24 :                 {
     108           24 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 42, __FILE__, __LINE__, false);
     109           24 :                   return true;
     110              :                 }
     111              :               }
     112              :         }
     113              :       }
     114              :     }
     115              :   return false;
     116              : }
     117              : 
     118              : tree
     119        72424 : generic_simplify_5 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     120              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     121              :  const enum tree_code ARG_UNUSED (op))
     122              : {
     123        72424 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     124        72424 :   {
     125        72424 :  bool wascmp0, wascmp1;
     126        72424 :       if (bitwise_inverted_equal_p (captures[1], captures[3], wascmp0)
     127         1201 :  && bitwise_inverted_equal_p (captures[0], captures[2], wascmp1)
     128        72428 :  && ((!wascmp0 && !wascmp1)
     129            0 :  || element_precision (type) == 1)
     130              : )
     131              :         {
     132            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail76;
     133            4 :           {
     134            4 :             tree res_op0;
     135            4 :             res_op0 = captures[0];
     136            4 :             tree res_op1;
     137            4 :             res_op1 = captures[3];
     138            4 :             tree _r;
     139            4 :             _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     140            4 :             if (TREE_SIDE_EFFECTS (captures[1]))
     141            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     142            4 :             if (TREE_SIDE_EFFECTS (captures[2]))
     143            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     144            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 53, __FILE__, __LINE__, true);
     145            4 :             return _r;
     146              :           }
     147            0 : next_after_fail76:;
     148              :         }
     149              :   }
     150        72420 :   return NULL_TREE;
     151              : }
     152              : 
     153              : tree
     154            1 : generic_simplify_16 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     155              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     156              : {
     157            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     158            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail91;
     159            1 :   {
     160            1 :     tree res_op0;
     161            1 :     res_op0 = captures[0];
     162            1 :     tree _r;
     163            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     164            1 :     if (TREE_SIDE_EFFECTS (captures[1]))
     165            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     166            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 64, __FILE__, __LINE__, true);
     167              :     return _r;
     168              :   }
     169            0 : next_after_fail91:;
     170            0 :   return NULL_TREE;
     171              : }
     172              : 
     173              : tree
     174            8 : generic_simplify_22 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     175              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     176              : {
     177            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     178            8 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     179              : )
     180              :     {
     181            8 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail97;
     182            8 :       {
     183            8 :         tree res_op0;
     184            8 :         {
     185            8 :           tree _o1[2], _r1;
     186            8 :           _o1[0] = captures[1];
     187            8 :           {
     188            8 :             tree _o2[1], _r2;
     189            8 :             _o2[0] = captures[0];
     190            8 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     191            8 :             _o1[1] = _r2;
     192              :           }
     193            8 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     194            8 :           res_op0 = _r1;
     195              :         }
     196            8 :         tree _r;
     197            8 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     198            8 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 70, __FILE__, __LINE__, true);
     199            8 :         return _r;
     200              :       }
     201            0 : next_after_fail97:;
     202              :     }
     203              :   return NULL_TREE;
     204              : }
     205              : 
     206              : tree
     207      2078453 : generic_simplify_32 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     208              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     209              :  const enum tree_code ARG_UNUSED (bitop))
     210              : {
     211      2078453 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     212      2078453 :   if (((TREE_CODE (captures[3]) == INTEGER_CST
     213            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     214            0 :  && (int_fits_type_p (captures[3], TREE_TYPE (captures[1]))
     215            0 :  || tree_nop_conversion_p (TREE_TYPE (captures[1]), type)))
     216      2078453 :  || types_match (captures[1], captures[3]))
     217      1938398 :  && !POINTER_TYPE_P (TREE_TYPE (captures[1]))
     218      1938134 :  && !VECTOR_TYPE_P (TREE_TYPE (captures[1]))
     219      1937956 :  && TREE_CODE (TREE_TYPE (captures[1])) != OFFSET_TYPE
     220      1937956 :  && (bitop != BIT_AND_EXPR ||
     221              : 
     222              : )
     223      2078453 :  && (
     224      1127176 :  TYPE_PRECISION (TREE_TYPE (captures[1])) < TYPE_PRECISION (type)
     225              :  || (
     226              : 
     227              :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (type))
     228      1032649 :  || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT
     229      1032649 :  || !type_has_mode_precision_p (type)
     230      1032649 :  || (
     231              : 
     232              :  && TREE_CODE (captures[3]) != INTEGER_CST
     233              :  && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     234              :  && single_use (captures[0])
     235              :  && single_use (captures[2])))
     236              : )
     237              :     {
     238        94527 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail107;
     239        94527 :       {
     240        94527 :         tree res_op0;
     241        94527 :         {
     242        94527 :           tree _o1[2], _r1;
     243        94527 :           _o1[0] = captures[1];
     244        94527 :           {
     245        94527 :             tree _o2[1], _r2;
     246        94527 :             _o2[0] = captures[3];
     247        94527 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     248              :               {
     249        54214 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     250              :               }
     251              :             else
     252              :               _r2 = _o2[0];
     253        94527 :             _o1[1] = _r2;
     254              :           }
     255        94527 :           _r1 = fold_build2_loc (loc, bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     256        94527 :           res_op0 = _r1;
     257              :         }
     258        94527 :         tree _r;
     259        94527 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     260        94527 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 80, __FILE__, __LINE__, true);
     261        94527 :         return _r;
     262              :       }
     263            0 : next_after_fail107:;
     264              :     }
     265              :   return NULL_TREE;
     266              : }
     267              : 
     268              : tree
     269           18 : generic_simplify_46 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     270              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     271              :  const enum tree_code ARG_UNUSED (op))
     272              : {
     273           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     274           36 :   if (INTEGRAL_TYPE_P (type)
     275           54 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[2])) == 0
     276              : )
     277              :     {
     278            0 :       {
     279            0 :  tree t = type;
     280            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     281            0 :  t = unsigned_type_for (t);
     282            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), 1);
     283            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail124;
     284            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail124;
     285            0 :           {
     286            0 :             tree res_op0;
     287            0 :             {
     288            0 :               tree _o1[2], _r1;
     289            0 :               {
     290            0 :                 tree _o2[1], _r2;
     291            0 :                 _o2[0] = captures[2];
     292            0 :                 if (TREE_TYPE (_o2[0]) != t)
     293              :                   {
     294            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     295              :                   }
     296              :                 else
     297              :                   _r2 = _o2[0];
     298            0 :                 _o1[0] = _r2;
     299              :               }
     300            0 :               _o1[1] =  wide_int_to_tree (t, c);
     301            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     302            0 :               res_op0 = _r1;
     303              :             }
     304            0 :             tree _r;
     305            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     306            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 90, __FILE__, __LINE__, true);
     307            0 :             return _r;
     308              :           }
     309            0 : next_after_fail124:;
     310            0 :       }
     311              :     }
     312              :   return NULL_TREE;
     313              : }
     314              : 
     315              : tree
     316           66 : generic_simplify_56 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     317              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     318              : {
     319           66 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     320           66 :   if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
     321              : )
     322              :     {
     323           66 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail137;
     324           66 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail137;
     325           66 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail137;
     326           66 :       {
     327           66 :         tree res_op0;
     328           66 :         res_op0 = captures[0];
     329           66 :         tree _r;
     330           66 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     331           66 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 105, __FILE__, __LINE__, true);
     332           66 :         return _r;
     333              :       }
     334              : next_after_fail137:;
     335              :     }
     336              :   return NULL_TREE;
     337              : }
     338              : 
     339              : tree
     340            2 : generic_simplify_60 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     341              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     342              : {
     343            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     344            2 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     345            2 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     346            2 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[0]))
     347            4 :  && !TYPE_SATURATING (TREE_TYPE (captures[0]))
     348              : )
     349              :     {
     350            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail141;
     351            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail141;
     352            2 :       {
     353            2 :         tree res_op0;
     354            2 :         {
     355            2 :           tree _o1[1], _r1;
     356            2 :           {
     357            2 :             tree _o2[2], _r2;
     358            2 :             _o2[0] = captures[1];
     359            2 :             _o2[1] = captures[2];
     360            2 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     361            2 :             _o1[0] = _r2;
     362              :           }
     363            2 :           if (TREE_TYPE (_o1[0]) != type)
     364              :             {
     365            1 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     366              :             }
     367              :           else
     368              :             _r1 = _o1[0];
     369            2 :           res_op0 = _r1;
     370              :         }
     371            2 :         tree _r;
     372            2 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     373            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 109, __FILE__, __LINE__, true);
     374            2 :         return _r;
     375              :       }
     376              : next_after_fail141:;
     377              :     }
     378              :   return NULL_TREE;
     379              : }
     380              : 
     381              : tree
     382      2340212 : generic_simplify_71 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     383              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     384              :  const enum tree_code ARG_UNUSED (plusminus))
     385              : {
     386      2340212 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     387      2340212 :   if (!TYPE_SATURATING (type)
     388      2340212 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     389              : )
     390              :     {
     391          110 :       if (!ANY_INTEGRAL_TYPE_P (type)
     392      2339988 :  || TYPE_OVERFLOW_WRAPS (type)
     393      4069315 :  || (INTEGRAL_TYPE_P (type)
     394      1729217 :  && tree_expr_nonzero_p (captures[1])
     395      3273946 :  && expr_not_equal_to (captures[1], wi::minus_one (TYPE_PRECISION (type)),
     396              :  gimple_match_ctx (captures[0])))
     397              : )
     398              :         {
     399      1544425 :           if (single_use (captures[0]) || single_use (captures[3])
     400              : )
     401              :             {
     402      1544425 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail160;
     403      1544425 :               {
     404      1544425 :                 tree res_op0;
     405      1544425 :                 {
     406      1544425 :                   tree _o1[2], _r1;
     407      1544425 :                   _o1[0] = captures[2];
     408      1544425 :                   _o1[1] = captures[4];
     409      1544425 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     410      1544425 :                   res_op0 = _r1;
     411              :                 }
     412      1544425 :                 tree res_op1;
     413      1544425 :                 res_op1 = captures[1];
     414      1544425 :                 tree _r;
     415      1544425 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     416      1544425 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 128, __FILE__, __LINE__, true);
     417      1544425 :                 return _r;
     418              :               }
     419            0 : next_after_fail160:;
     420              :             }
     421              :           else
     422              :             {
     423              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail161;
     424              :               {
     425              :                 tree res_op0;
     426              :                 {
     427              :                   tree _o1[2], _r1;
     428              :                   _o1[0] = captures[2];
     429              :                   _o1[1] = captures[4];
     430              :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     431              :                   res_op0 = _r1;
     432              :                 }
     433              :                 tree res_op1;
     434              :                 res_op1 = captures[1];
     435              :                 tree _r;
     436              :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     437              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 129, __FILE__, __LINE__, true);
     438              :                 return _r;
     439              :               }
     440              : next_after_fail161:;
     441              :             }
     442              :         }
     443              :     }
     444              :   return NULL_TREE;
     445              : }
     446              : 
     447              : tree
     448            4 : generic_simplify_82 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     449              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     450              :  const combined_fn ARG_UNUSED (POPCOUNT))
     451              : {
     452            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     453            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail173;
     454            4 :   {
     455            4 :     tree res_op0;
     456            4 :     {
     457            4 :       tree _o1[1], _r1;
     458            4 :       _o1[0] = captures[2];
     459            4 :       _r1 = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, _o1[0]);
     460            4 :       if (!_r1)
     461            0 :         goto next_after_fail173;
     462            4 :       res_op0 = _r1;
     463              :     }
     464            4 :     tree res_op1;
     465            4 :     {
     466            4 :       tree _o1[1], _r1;
     467            4 :       _o1[0] = captures[3];
     468            4 :       _r1 = maybe_build_call_expr_loc (loc, POPCOUNT, type, 1, _o1[0]);
     469            4 :       if (!_r1)
     470            0 :         goto next_after_fail173;
     471            4 :       res_op1 = _r1;
     472              :     }
     473            4 :     tree _r;
     474            4 :     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     475            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 141, __FILE__, __LINE__, true);
     476              :     return _r;
     477              :   }
     478              : next_after_fail173:;
     479              :   return NULL_TREE;
     480              : }
     481              : 
     482              : tree
     483            2 : generic_simplify_90 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     484              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     485              : {
     486            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     487            2 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     488            2 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
     489            2 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[2]))
     490            4 :  && !TYPE_SATURATING (TREE_TYPE (captures[2]))
     491              : )
     492              :     {
     493            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail181;
     494            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail181;
     495            2 :       {
     496            2 :         tree res_op0;
     497            2 :         {
     498            2 :           tree _o1[1], _r1;
     499            2 :           {
     500            2 :             tree _o2[2], _r2;
     501            2 :             _o2[0] = captures[0];
     502            2 :             _o2[1] = captures[1];
     503            2 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     504            2 :             _o1[0] = _r2;
     505              :           }
     506            2 :           if (TREE_TYPE (_o1[0]) != type)
     507              :             {
     508            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     509              :             }
     510              :           else
     511              :             _r1 = _o1[0];
     512            2 :           res_op0 = _r1;
     513              :         }
     514            2 :         tree _r;
     515            2 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     516            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 149, __FILE__, __LINE__, true);
     517            2 :         return _r;
     518              :       }
     519              : next_after_fail181:;
     520              :     }
     521              :   return NULL_TREE;
     522              : }
     523              : 
     524              : tree
     525            0 : generic_simplify_100 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     526              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     527              : {
     528            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     529            0 :   if (!TYPE_SATURATING (type)
     530              : )
     531              :     {
     532            0 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     533            0 :  && !FIXED_POINT_TYPE_P (type)
     534              : )
     535              :         {
     536            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail193;
     537            0 :           {
     538            0 :             tree res_op0;
     539            0 :             res_op0 = captures[1];
     540            0 :             tree res_op1;
     541            0 :             res_op1 = captures[2];
     542            0 :             tree _r;
     543            0 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     544            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
     545            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     546            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 160, __FILE__, __LINE__, true);
     547            0 :             return _r;
     548              :           }
     549            0 : next_after_fail193:;
     550              :         }
     551              :     }
     552              :   return NULL_TREE;
     553              : }
     554              : 
     555              : tree
     556            0 : generic_simplify_107 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     557              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     558              : {
     559            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     560            0 :   if (VECTOR_TYPE_P (type)
     561            0 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
     562              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
     563            0 :  && (TYPE_MODE (TREE_TYPE (type))
     564            0 :  == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
     565              : )
     566              :     {
     567            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail204;
     568            0 :       {
     569            0 :         tree res_op0;
     570            0 :         res_op0 = captures[0];
     571            0 :         tree res_op1;
     572            0 :         {
     573            0 :           tree _o1[1], _r1;
     574            0 :           {
     575            0 :             tree _o2[3], _r2;
     576            0 :             _o2[0] = captures[2];
     577            0 :             {
     578            0 :               tree _o3[1], _r3;
     579            0 :               _o3[0] = captures[3];
     580            0 :               _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
     581            0 :               _o2[1] = _r3;
     582              :             }
     583            0 :             _o2[2] = captures[4];
     584            0 :             _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
     585            0 :             _o1[0] = _r2;
     586              :           }
     587            0 :           if (TREE_TYPE (_o1[0]) != type)
     588              :             {
     589            0 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     590              :             }
     591              :           else
     592              :             _r1 = _o1[0];
     593            0 :           res_op1 = _r1;
     594              :         }
     595            0 :         tree _r;
     596            0 :         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     597            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 171, __FILE__, __LINE__, true);
     598            0 :         return _r;
     599              :       }
     600            0 : next_after_fail204:;
     601              :     }
     602              :   return NULL_TREE;
     603              : }
     604              : 
     605              : tree
     606            0 : generic_simplify_114 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     607              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     608              : {
     609            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     610            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail211;
     611            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail211;
     612            0 :   {
     613            0 :     tree _r;
     614            0 :     _r = captures[2];
     615            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 178, __FILE__, __LINE__, true);
     616              :     return _r;
     617              :   }
     618              : next_after_fail211:;
     619              :   return NULL_TREE;
     620              : }
     621              : 
     622              : tree
     623            0 : generic_simplify_120 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     624              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     625              :  const enum tree_code ARG_UNUSED (op))
     626              : {
     627            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     628            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail217;
     629            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail217;
     630            0 :   {
     631            0 :     tree _r;
     632            0 :     _r = captures[0];
     633            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 183, __FILE__, __LINE__, true);
     634              :     return _r;
     635              :   }
     636              : next_after_fail217:;
     637              :   return NULL_TREE;
     638              : }
     639              : 
     640              : tree
     641            0 : generic_simplify_127 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     642              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     643              : {
     644            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     645            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     646            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     647              : )
     648              :     {
     649            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail224;
     650            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail224;
     651            0 :       {
     652            0 :         tree _r;
     653            0 :         _r = captures[2];
     654            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 185, __FILE__, __LINE__, true);
     655            0 :         return _r;
     656              :       }
     657              : next_after_fail224:;
     658              :     }
     659              :   return NULL_TREE;
     660              : }
     661              : 
     662              : tree
     663            0 : generic_simplify_138 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     664              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     665              :  const enum tree_code ARG_UNUSED (op))
     666              : {
     667            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     668            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     669            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     670              : )
     671              :     {
     672            0 :       if (single_use (captures[4]) && single_use (captures[5])
     673              : )
     674              :         {
     675            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail236;
     676            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail236;
     677            0 :           {
     678            0 :             tree res_op0;
     679            0 :             res_op0 = captures[0];
     680            0 :             tree res_op1;
     681            0 :             {
     682            0 :               tree _o1[1], _r1;
     683            0 :               _o1[0] = captures[6];
     684            0 :               if (TREE_TYPE (_o1[0]) != type)
     685              :                 {
     686            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     687              :                 }
     688              :               else
     689              :                 _r1 = _o1[0];
     690            0 :               res_op1 = _r1;
     691              :             }
     692            0 :             tree _r;
     693            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     694            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 194, __FILE__, __LINE__, true);
     695            0 :             return _r;
     696              :           }
     697              : next_after_fail236:;
     698              :         }
     699              :       else
     700              :         {
     701              :           if (single_use (captures[0]) && single_use (captures[1])
     702              : )
     703              :             {
     704              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail237;
     705              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail237;
     706              :               {
     707              :                 tree res_op0;
     708              :                 {
     709              :                   tree _o1[1], _r1;
     710              :                   _o1[0] = captures[3];
     711              :                   if (TREE_TYPE (_o1[0]) != type)
     712              :                     {
     713              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     714              :                     }
     715              :                   else
     716              :                     _r1 = _o1[0];
     717              :                   res_op0 = _r1;
     718              :                 }
     719              :                 tree res_op1;
     720              :                 res_op1 = captures[4];
     721              :                 tree _r;
     722              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     723              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
     724              :                 return _r;
     725              :               }
     726              : next_after_fail237:;
     727              :             }
     728              :         }
     729              :     }
     730              :   return NULL_TREE;
     731              : }
     732              : 
     733              : tree
     734          300 : generic_simplify_153 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     735              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     736              : {
     737          300 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     738          300 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail258;
     739          300 :   {
     740          300 :     if (! tree_invariant_p (captures[1])) goto next_after_fail258;
     741            0 :     tree res_op0;
     742            0 :     {
     743            0 :       tree _o1[2], _r1;
     744            0 :       {
     745            0 :         tree _o2[2], _r2;
     746            0 :         _o2[0] = unshare_expr (captures[1]);
     747            0 :         _o2[1] = captures[4];
     748            0 :         _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     749            0 :         _o1[0] = _r2;
     750              :       }
     751            0 :       _o1[1] = captures[2];
     752            0 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     753            0 :       res_op0 = _r1;
     754              :     }
     755            0 :     tree res_op1;
     756            0 :     res_op1 = captures[1];
     757            0 :     tree _r;
     758            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     759            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 207, __FILE__, __LINE__, true);
     760              :     return _r;
     761              :   }
     762              : next_after_fail258:;
     763              :   return NULL_TREE;
     764              : }
     765              : 
     766              : tree
     767            0 : generic_simplify_162 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     768              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     769              :  const enum tree_code ARG_UNUSED (cmp),
     770              :  const enum tree_code ARG_UNUSED (bitop),
     771              :  const enum tree_code ARG_UNUSED (neeq))
     772              : {
     773            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     774            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail286;
     775            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail286;
     776            0 :   {
     777            0 :     tree res_op0;
     778            0 :     {
     779            0 :       tree _o1[2], _r1;
     780            0 :       _o1[0] =  build_zero_cst (TREE_TYPE (captures[0]));
     781            0 :       _o1[1] = captures[2];
     782            0 :       _r1 = fold_build2_loc (loc, cmp, type, _o1[0], _o1[1]);
     783            0 :       res_op0 = _r1;
     784              :     }
     785            0 :     tree res_op1;
     786            0 :     res_op1 = captures[3];
     787            0 :     tree _r;
     788            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     789            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 228, __FILE__, __LINE__, true);
     790              :     return _r;
     791              :   }
     792              : next_after_fail286:;
     793              :   return NULL_TREE;
     794              : }
     795              : 
     796              : tree
     797          446 : generic_simplify_168 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     798              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     799              :  const enum tree_code ARG_UNUSED (code2),
     800              :  const enum tree_code ARG_UNUSED (code1))
     801              : {
     802          446 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     803          446 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     804          421 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     805          446 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     806            1 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     807            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     808           25 :  && bitwise_equal_p (captures[2], captures[5]))
     809              : )
     810              :     {
     811          421 :       {
     812          421 :  bool one_before = false;
     813          421 :  bool one_after = false;
     814          421 :  int cmp = 0;
     815          421 :  bool allbits = true;
     816          421 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     817          421 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     818              :  {
     819          421 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     820          421 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     821          421 :  auto t2 = wi::to_wide (captures[5]);
     822          421 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     823          421 :  if (cmp < 0
     824          421 :  && t1 == t2 - 1)
     825              :  one_before = true;
     826          421 :  if (cmp > 0
     827          421 :  && t1 == t2 + 1)
     828              :  one_after = true;
     829              :  }
     830          421 :  bool val;
     831          421 :  switch (code2)
     832              :  {
     833          412 :  case EQ_EXPR: val = (cmp == 0); break;
     834            0 :  case NE_EXPR: val = (cmp != 0); break;
     835            0 :  case LT_EXPR: val = (cmp < 0); break;
     836            9 :  case GT_EXPR: val = (cmp > 0); break;
     837            0 :  case LE_EXPR: val = (cmp <= 0); break;
     838            0 :  case GE_EXPR: val = (cmp >= 0); break;
     839            0 :  default: gcc_unreachable ();
     840              :  }
     841          421 :           if (code1 == EQ_EXPR && val
     842              : )
     843              :             {
     844            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail299;
     845            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail299;
     846            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail299;
     847            0 :               {
     848            0 :                 tree _r;
     849            0 :                 _r = captures[3];
     850            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 211, __FILE__, __LINE__, true);
     851            0 :                 return _r;
     852              :               }
     853              : next_after_fail299:;
     854              :             }
     855              :           else
     856              :             {
     857          421 :               if (code1 == NE_EXPR && val && allbits
     858              : )
     859              :                 {
     860            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail300;
     861            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail300;
     862            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail300;
     863            0 :                   {
     864            0 :                     tree _r;
     865            0 :                     _r =  constant_boolean_node (true, type);
     866            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
     867            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     868            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
     869            0 :                     return _r;
     870              :                   }
     871              : next_after_fail300:;
     872              :                 }
     873              :               else
     874              :                 {
     875          421 :                   if (code1 == NE_EXPR && !val && allbits
     876              : )
     877              :                     {
     878            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail301;
     879            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail301;
     880            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail301;
     881            0 :                       {
     882            0 :                         tree _r;
     883            0 :                         _r = captures[0];
     884            0 :                         if (TREE_SIDE_EFFECTS (captures[4]))
     885            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     886            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     887            0 :                         return _r;
     888              :                       }
     889              : next_after_fail301:;
     890              :                     }
     891              :                   else
     892              :                     {
     893          421 :                       if (code1 == EQ_EXPR
     894          421 :  && code2 == GT_EXPR
     895            9 :  && cmp == 0
     896            9 :  && allbits
     897          421 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     898            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     899            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     900              : )
     901              :                         {
     902            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail302;
     903            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail302;
     904            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail302;
     905            0 :                           {
     906            0 :                             tree res_op0;
     907            0 :                             res_op0 = captures[4];
     908            0 :                             tree res_op1;
     909            0 :                             res_op1 = captures[5];
     910            0 :                             tree _r;
     911            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     912            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     913            0 :                             return _r;
     914              :                           }
     915              : next_after_fail302:;
     916              :                         }
     917              :                       else
     918              :                         {
     919          421 :                           if (code1 == EQ_EXPR
     920          421 :  && code2 == LT_EXPR
     921            0 :  && cmp == 0
     922            0 :  && allbits
     923          421 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     924            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     925            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     926              : )
     927              :                             {
     928            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail303;
     929            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail303;
     930            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail303;
     931            0 :                               {
     932            0 :                                 tree res_op0;
     933            0 :                                 res_op0 = captures[4];
     934            0 :                                 tree res_op1;
     935            0 :                                 res_op1 = captures[5];
     936            0 :                                 tree _r;
     937            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     938            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     939            0 :                                 return _r;
     940              :                               }
     941              : next_after_fail303:;
     942              :                             }
     943              :                           else
     944              :                             {
     945          421 :                               if (code1 == EQ_EXPR
     946          421 :  && code2 == GE_EXPR
     947              :  && one_before
     948            0 :  && allbits
     949          421 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     950            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     951            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     952              : )
     953              :                                 {
     954            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail304;
     955            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail304;
     956            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail304;
     957            0 :                                   {
     958            0 :                                     tree res_op0;
     959            0 :                                     res_op0 = captures[4];
     960            0 :                                     tree res_op1;
     961            0 :                                     {
     962            0 :                                       tree _o1[1], _r1;
     963            0 :                                       _o1[0] = captures[2];
     964            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     965              :                                         {
     966            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     967              :                                         }
     968              :                                       else
     969              :                                         _r1 = _o1[0];
     970            0 :                                       res_op1 = _r1;
     971              :                                     }
     972            0 :                                     tree _r;
     973            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     974            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     975            0 :                                     return _r;
     976              :                                   }
     977              : next_after_fail304:;
     978              :                                 }
     979              :                               else
     980              :                                 {
     981          421 :                                   if (code1 == EQ_EXPR
     982          421 :  && code2 == LE_EXPR
     983              :  && one_after
     984            0 :  && allbits
     985          421 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     986            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     987            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     988              : )
     989              :                                     {
     990            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail305;
     991            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail305;
     992            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail305;
     993            0 :                                       {
     994            0 :                                         tree res_op0;
     995            0 :                                         res_op0 = captures[4];
     996            0 :                                         tree res_op1;
     997            0 :                                         {
     998            0 :                                           tree _o1[1], _r1;
     999            0 :                                           _o1[0] = captures[2];
    1000            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1001              :                                             {
    1002            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1003              :                                             }
    1004              :                                           else
    1005              :                                             _r1 = _o1[0];
    1006            0 :                                           res_op1 = _r1;
    1007              :                                         }
    1008            0 :                                         tree _r;
    1009            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1010            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
    1011            0 :                                         return _r;
    1012              :                                       }
    1013              : next_after_fail305:;
    1014              :                                     }
    1015              :                                 }
    1016              :                             }
    1017              :                         }
    1018              :                     }
    1019              :                 }
    1020              :             }
    1021              :       }
    1022              :     }
    1023              :   return NULL_TREE;
    1024              : }
    1025              : 
    1026              : tree
    1027            4 : generic_simplify_214 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1028              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1029              : {
    1030            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1031            8 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1032            8 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    1033              : )
    1034              :     {
    1035            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail358;
    1036            0 :       {
    1037            0 :         tree res_op0;
    1038            0 :         {
    1039            0 :           tree _o1[2], _r1;
    1040            0 :           _o1[0] = captures[1];
    1041            0 :           _o1[1] = captures[2];
    1042            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1043            0 :           res_op0 = _r1;
    1044              :         }
    1045            0 :         tree _r;
    1046            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1047            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 270, __FILE__, __LINE__, true);
    1048            0 :         return _r;
    1049              :       }
    1050            0 : next_after_fail358:;
    1051              :     }
    1052              :   return NULL_TREE;
    1053              : }
    1054              : 
    1055              : tree
    1056         1723 : generic_simplify_219 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1057              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1058              :  const enum tree_code ARG_UNUSED (cmp))
    1059              : {
    1060         1723 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1061         3446 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1062         1723 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
    1063         3446 :  && (TREE_INT_CST_LOW (captures[1]) & 1) != 0
    1064              : )
    1065              :     {
    1066           10 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail363;
    1067           10 :       {
    1068           10 :         tree res_op0;
    1069           10 :         res_op0 = captures[0];
    1070           10 :         tree res_op1;
    1071           10 :         res_op1 = captures[2];
    1072           10 :         tree _r;
    1073           10 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1074           10 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1075            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1076           10 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 275, __FILE__, __LINE__, true);
    1077           10 :         return _r;
    1078              :       }
    1079            0 : next_after_fail363:;
    1080              :     }
    1081              :   return NULL_TREE;
    1082              : }
    1083              : 
    1084              : tree
    1085            0 : generic_simplify_225 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1086              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1087              :  const enum tree_code ARG_UNUSED (op))
    1088              : {
    1089            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1090            0 :   if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    1091              : )
    1092              :     {
    1093            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail382;
    1094            0 :       {
    1095            0 :         tree res_op0;
    1096            0 :         res_op0 = captures[3];
    1097            0 :         tree res_op1;
    1098            0 :         res_op1 = captures[2];
    1099            0 :         tree _r;
    1100            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1101            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1102            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1103            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 294, __FILE__, __LINE__, true);
    1104            0 :         return _r;
    1105              :       }
    1106            0 : next_after_fail382:;
    1107              :     }
    1108              :   return NULL_TREE;
    1109              : }
    1110              : 
    1111              : tree
    1112         1063 : generic_simplify_233 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1113              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1114              :  const enum tree_code ARG_UNUSED (minmax),
    1115              :  const enum tree_code ARG_UNUSED (cmp),
    1116              :  const enum tree_code ARG_UNUSED (out))
    1117              : {
    1118         1063 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1119         2126 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1120         1208 :  && (!VECTOR_TYPE_P (TREE_TYPE (captures[0]))
    1121            1 :  || (VECTOR_TYPE_P (type)
    1122            0 :  && (!expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, cmp)
    1123            0 :  || expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, out))))
    1124              : )
    1125              :     {
    1126          144 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail390;
    1127          144 :       {
    1128          144 :         tree res_op0;
    1129          144 :         res_op0 = captures[0];
    1130          144 :         tree res_op1;
    1131          144 :         res_op1 = captures[1];
    1132          144 :         tree _r;
    1133          144 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    1134          144 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 301, __FILE__, __LINE__, true);
    1135          144 :         return _r;
    1136              :       }
    1137            0 : next_after_fail390:;
    1138              :     }
    1139              :   return NULL_TREE;
    1140              : }
    1141              : 
    1142              : tree
    1143          805 : generic_simplify_241 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1144              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1145              :  const enum tree_code ARG_UNUSED (cmp))
    1146              : {
    1147          805 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1148          805 :   if (tree_fits_shwi_p (captures[3])
    1149          805 :  && tree_to_shwi (captures[3]) > 0
    1150         1596 :  && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
    1151              : )
    1152              :     {
    1153          791 :       {
    1154          791 :  tree t0 = TREE_TYPE (captures[2]);
    1155          791 :  unsigned int prec = TYPE_PRECISION (t0);
    1156          791 :  wide_int c1 = wi::to_wide (captures[3]);
    1157          791 :  wide_int c2 = wi::to_wide (captures[4]);
    1158          791 :  wide_int c3 = wi::to_wide (captures[5]);
    1159          791 :  wide_int sb = wi::set_bit_in_zero (prec - 1, prec);
    1160          791 :           if ((c2 & c3) != c3
    1161              : )
    1162              :             {
    1163            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail403;
    1164            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail403;
    1165            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail403;
    1166            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail403;
    1167            0 :               {
    1168            0 :                 tree _r;
    1169            0 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1170            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1171            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1172            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 314, __FILE__, __LINE__, true);
    1173            0 :                 return _r;
    1174              :               }
    1175            0 : next_after_fail403:;
    1176              :             }
    1177              :           else
    1178              :             {
    1179          791 :               if (TYPE_UNSIGNED (t0)
    1180              : )
    1181              :                 {
    1182          669 :                   if ((c3 & wi::arshift (sb, c1 - 1)) != 0
    1183              : )
    1184              :                     {
    1185            0 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail404;
    1186            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail404;
    1187            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail404;
    1188            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail404;
    1189            0 :                       {
    1190            0 :                         tree _r;
    1191            0 :                         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1192            0 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    1193            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1194            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 315, __FILE__, __LINE__, true);
    1195            0 :                         return _r;
    1196              :                       }
    1197            0 : next_after_fail404:;
    1198              :                     }
    1199              :                   else
    1200              :                     {
    1201          669 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail405;
    1202          669 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail405;
    1203          669 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail405;
    1204          669 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail405;
    1205          669 :                       {
    1206          669 :                         tree res_op0;
    1207          669 :                         {
    1208          669 :                           tree _o1[2], _r1;
    1209          669 :                           _o1[0] = captures[2];
    1210          669 :                           _o1[1] =  wide_int_to_tree (t0, c2 << c1);
    1211          669 :                           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1212          669 :                           res_op0 = _r1;
    1213              :                         }
    1214          669 :                         tree res_op1;
    1215          669 :                         res_op1 =  wide_int_to_tree (t0, c3 << c1);
    1216          669 :                         tree _r;
    1217          669 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1218          669 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 316, __FILE__, __LINE__, true);
    1219          669 :                         return _r;
    1220              :                       }
    1221            0 : next_after_fail405:;
    1222              :                     }
    1223              :                 }
    1224              :               else
    1225              :                 {
    1226          122 :                   {
    1227          122 :  wide_int smask = wi::arshift (sb, c1);
    1228          122 :                       if ((c2 & smask) == 0
    1229              : )
    1230              :                         {
    1231          120 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail406;
    1232          120 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail406;
    1233          120 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail406;
    1234          120 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail406;
    1235          120 :                           {
    1236          120 :                             tree res_op0;
    1237          120 :                             {
    1238          120 :                               tree _o1[2], _r1;
    1239          120 :                               _o1[0] = captures[2];
    1240          120 :                               _o1[1] =  wide_int_to_tree (t0, c2 << c1);
    1241          120 :                               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1242          120 :                               res_op0 = _r1;
    1243              :                             }
    1244          120 :                             tree res_op1;
    1245          120 :                             res_op1 =  wide_int_to_tree (t0, c3 << c1);
    1246          120 :                             tree _r;
    1247          120 :                             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1248          120 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 317, __FILE__, __LINE__, true);
    1249          120 :                             return _r;
    1250              :                           }
    1251            0 : next_after_fail406:;
    1252              :                         }
    1253              :                       else
    1254              :                         {
    1255            2 :                           if ((c3 & smask) == 0
    1256              : )
    1257              :                             {
    1258            2 :                               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail407;
    1259            2 :                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail407;
    1260            2 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail407;
    1261            2 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail407;
    1262            2 :                               {
    1263            2 :                                 tree res_op0;
    1264            2 :                                 {
    1265            2 :                                   tree _o1[2], _r1;
    1266            2 :                                   _o1[0] = captures[2];
    1267            2 :                                   _o1[1] =  wide_int_to_tree (t0, (c2 << c1) | sb);
    1268            2 :                                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1269            2 :                                   res_op0 = _r1;
    1270              :                                 }
    1271            2 :                                 tree res_op1;
    1272            2 :                                 res_op1 =  wide_int_to_tree (t0, c3 << c1);
    1273            2 :                                 tree _r;
    1274            2 :                                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1275            2 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 318, __FILE__, __LINE__, true);
    1276            2 :                                 return _r;
    1277              :                               }
    1278            0 : next_after_fail407:;
    1279              :                             }
    1280              :                           else
    1281              :                             {
    1282            0 :                               if ((c2 & smask) != (c3 & smask)
    1283              : )
    1284              :                                 {
    1285            0 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail408;
    1286            0 :                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail408;
    1287            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail408;
    1288            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail408;
    1289            0 :                                   {
    1290            0 :                                     tree _r;
    1291            0 :                                     _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1292            0 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    1293            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1294            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 319, __FILE__, __LINE__, true);
    1295            0 :                                     return _r;
    1296              :                                   }
    1297            0 : next_after_fail408:;
    1298              :                                 }
    1299              :                               else
    1300              :                                 {
    1301            0 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail409;
    1302            0 :                                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail409;
    1303            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail409;
    1304            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail409;
    1305            0 :                                   {
    1306            0 :                                     tree res_op0;
    1307            0 :                                     {
    1308            0 :                                       tree _o1[2], _r1;
    1309            0 :                                       _o1[0] = captures[2];
    1310            0 :                                       _o1[1] =  wide_int_to_tree (t0, (c2 << c1) | sb);
    1311            0 :                                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1312            0 :                                       res_op0 = _r1;
    1313              :                                     }
    1314            0 :                                     tree res_op1;
    1315            0 :                                     res_op1 =  wide_int_to_tree (t0, (c3 << c1) | sb);
    1316            0 :                                     tree _r;
    1317            0 :                                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1318            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 320, __FILE__, __LINE__, true);
    1319            0 :                                     return _r;
    1320              :                                   }
    1321            0 : next_after_fail409:;
    1322              :                                 }
    1323              :                             }
    1324              :                         }
    1325          122 :                   }
    1326              :                 }
    1327              :             }
    1328          791 :       }
    1329              :     }
    1330              :   return NULL_TREE;
    1331              : }
    1332              : 
    1333              : tree
    1334      1137750 : generic_simplify_273 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1335              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1336              :  const enum tree_code ARG_UNUSED (cmp))
    1337              : {
    1338      1137750 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1339      1137750 :   {
    1340      1137750 :  poly_int64 off; tree base;
    1341      1137750 :  tree addr = (TREE_CODE (captures[1]) == SSA_NAME
    1342      1137750 :  ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[1])) : captures[1]);
    1343      1137750 :       if (SSA_NAME_IS_DEFAULT_DEF (captures[0])
    1344        47151 :  && TREE_CODE (SSA_NAME_VAR (captures[0])) == PARM_DECL
    1345        46969 :  && (base = get_base_address (TREE_OPERAND (addr, 0)))
    1346        46969 :  && TREE_CODE (base) == VAR_DECL
    1347      1140934 :  && auto_var_in_fn_p (base, current_function_decl)
    1348              : )
    1349              :         {
    1350            0 :           if (cmp == NE_EXPR
    1351              : )
    1352              :             {
    1353            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail503;
    1354            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail503;
    1355            0 :               {
    1356            0 :                 tree _r;
    1357            0 :                 _r =  constant_boolean_node (true, type);
    1358            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1359            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1360            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 404, __FILE__, __LINE__, true);
    1361            2 :                 return _r;
    1362              :               }
    1363      1137748 : next_after_fail503:;
    1364              :             }
    1365              :           else
    1366              :             {
    1367            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail504;
    1368            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail504;
    1369            0 :               {
    1370            0 :                 tree _r;
    1371            0 :                 _r =  constant_boolean_node (false, type);
    1372            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1373            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1374            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 405, __FILE__, __LINE__, true);
    1375            0 :                 return _r;
    1376              :               }
    1377      1137748 : next_after_fail504:;
    1378              :             }
    1379              :         }
    1380              :       else
    1381              :         {
    1382      1137750 :           if ((base = get_addr_base_and_unit_offset (TREE_OPERAND (addr, 0), &off))
    1383      1136387 :  && TREE_CODE (base) == MEM_REF
    1384      1307916 :  && TREE_OPERAND (base, 0) == captures[0]
    1385              : )
    1386              :             {
    1387            2 :               {
    1388            2 :  off += mem_ref_offset (base).force_shwi ();
    1389            2 :                   if (known_ne (off, 0)
    1390              : )
    1391              :                     {
    1392            2 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail505;
    1393            2 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail505;
    1394            2 :                       {
    1395            2 :                         tree _r;
    1396            2 :                         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1397            2 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1398            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1399            2 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 406, __FILE__, __LINE__, true);
    1400            2 :                         return _r;
    1401              :                       }
    1402      1137748 : next_after_fail505:;
    1403              :                     }
    1404              :                   else
    1405              :                     {
    1406            0 :                       if (known_eq (off, 0)
    1407              : )
    1408              :                         {
    1409            0 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail506;
    1410            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail506;
    1411            0 :                           {
    1412            0 :                             tree _r;
    1413            0 :                             _r =  constant_boolean_node (cmp == EQ_EXPR, type);
    1414            0 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    1415            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1416            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 407, __FILE__, __LINE__, true);
    1417            0 :                             return _r;
    1418              :                           }
    1419      1137748 : next_after_fail506:;
    1420              :                         }
    1421              :                     }
    1422              :               }
    1423              :             }
    1424              :         }
    1425              :   }
    1426      1137748 :   return NULL_TREE;
    1427              : }
    1428              : 
    1429              : tree
    1430            4 : generic_simplify_286 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1431              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1432              :  const enum tree_code ARG_UNUSED (cmp),
    1433              :  const enum tree_code ARG_UNUSED (ncmp))
    1434              : {
    1435            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1436            8 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1437            4 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1438            8 :  && types_match (captures[0], captures[2])
    1439              : )
    1440              :     {
    1441            4 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail519;
    1442            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail519;
    1443            4 :       {
    1444            4 :         tree res_op0;
    1445            4 :         {
    1446            4 :           tree _o1[2], _r1;
    1447            4 :           _o1[0] = captures[0];
    1448            4 :           _o1[1] = captures[2];
    1449            4 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1450            4 :           res_op0 = _r1;
    1451              :         }
    1452            4 :         tree res_op1;
    1453            4 :         res_op1 = captures[1];
    1454            4 :         tree _r;
    1455            4 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1456            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 419, __FILE__, __LINE__, true);
    1457            4 :         return _r;
    1458              :       }
    1459              : next_after_fail519:;
    1460              :     }
    1461              :   return NULL_TREE;
    1462              : }
    1463              : 
    1464              : tree
    1465     54407517 : generic_simplify_291 (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 (neeq))
    1468              : {
    1469     54407517 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1470     96985877 :   if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1471     54418691 :  && ptrs_compare_unequal (captures[0], captures[1])
    1472              : )
    1473              :     {
    1474        12168 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail538;
    1475        12168 :       {
    1476        12168 :         tree _r;
    1477        12168 :         _r =  constant_boolean_node (neeq != EQ_EXPR, type);
    1478        12168 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1479            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1480        12168 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1481            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1482        12168 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 429, __FILE__, __LINE__, true);
    1483        12168 :         return _r;
    1484              :       }
    1485            0 : next_after_fail538:;
    1486              :     }
    1487              :   return NULL_TREE;
    1488              : }
    1489              : 
    1490              : tree
    1491      1071896 : generic_simplify_295 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1492              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1493              :  const enum tree_code ARG_UNUSED (op),
    1494              :  const enum tree_code ARG_UNUSED (rop),
    1495              :  const enum tree_code ARG_UNUSED (cmp))
    1496              : {
    1497      1071896 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1498      2143792 :   if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
    1499      1071896 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    1500      1071581 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[1]))
    1501      2143329 :  && !TYPE_SATURATING (TREE_TYPE (captures[1]))
    1502              : )
    1503              :     {
    1504      1071433 :       {
    1505      1071433 :  tree res = int_const_binop (rop, captures[3], captures[2]);
    1506      1071433 :           if (TREE_OVERFLOW (res)
    1507      1071433 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1508              : )
    1509              :             {
    1510         7565 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail546;
    1511         7565 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail546;
    1512         7565 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail546;
    1513         7565 :               {
    1514         7565 :                 tree _r;
    1515         7565 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1516         7565 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1517            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1518         7565 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 437, __FILE__, __LINE__, true);
    1519         7565 :                 return _r;
    1520              :               }
    1521              : next_after_fail546:;
    1522              :             }
    1523              :           else
    1524              :             {
    1525      1063868 :               if (single_use (captures[0]) || wi::to_wide (res) == 0
    1526              : )
    1527              :                 {
    1528      1063868 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail547;
    1529      1063868 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail547;
    1530      1063868 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail547;
    1531      1063868 :                   {
    1532      1063868 :                     tree res_op0;
    1533      1063868 :                     res_op0 = captures[1];
    1534      1063868 :                     tree res_op1;
    1535      1063868 :                     res_op1 =  TREE_OVERFLOW (res)
    1536      1063868 :  ? drop_tree_overflow (res) : res;
    1537      1063868 :                     tree _r;
    1538      1063868 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1539      1063868 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 438, __FILE__, __LINE__, true);
    1540      1063868 :                     return _r;
    1541              :                   }
    1542              : next_after_fail547:;
    1543              :                 }
    1544              :             }
    1545              :       }
    1546              :     }
    1547              :   return NULL_TREE;
    1548              : }
    1549              : 
    1550              : tree
    1551            0 : generic_simplify_298 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1552              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1553              :  const enum tree_code ARG_UNUSED (op),
    1554              :  const enum tree_code ARG_UNUSED (cmp))
    1555              : {
    1556            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1557            0 :   if (integer_zerop (captures[3]) && single_use (captures[0])
    1558              : )
    1559              :     {
    1560            0 :       {
    1561            0 :  tree type0 = TREE_TYPE (captures[1]);
    1562            0 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1563            0 :  if (integer_zerop (captures[2]))
    1564              :  stype = NULL_TREE;
    1565            0 :           if (stype
    1566              : )
    1567              :             {
    1568            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail559;
    1569            0 :               {
    1570            0 :                 tree res_op0;
    1571            0 :                 {
    1572            0 :                   tree _o1[1], _r1;
    1573            0 :                   _o1[0] = captures[1];
    1574            0 :                   if (TREE_TYPE (_o1[0]) != stype)
    1575              :                     {
    1576            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1577              :                     }
    1578              :                   else
    1579              :                     _r1 = _o1[0];
    1580            0 :                   res_op0 = _r1;
    1581              :                 }
    1582            0 :                 tree res_op1;
    1583            0 :                 res_op1 =  build_zero_cst (stype);
    1584            0 :                 tree _r;
    1585            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1586            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1587            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1588            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1589            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1590            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 450, __FILE__, __LINE__, true);
    1591            0 :                 return _r;
    1592              :               }
    1593            0 : next_after_fail559:;
    1594              :             }
    1595              :       }
    1596              :     }
    1597              :   else
    1598              :     {
    1599            0 :       {
    1600            0 :  bool ok = true;
    1601            0 :  tree type0 = TREE_TYPE (captures[1]);
    1602            0 :  if (wi::to_widest (captures[2]) == TYPE_PRECISION (type0) - 1)
    1603              :  ok = false;
    1604            0 :           if (ok && wi::to_wide (captures[3]) == (TYPE_PRECISION (type0) - 1)
    1605              : )
    1606              :             {
    1607            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail560;
    1608            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail560;
    1609            0 :               {
    1610            0 :                 tree res_op0;
    1611            0 :                 res_op0 = captures[1];
    1612            0 :                 tree res_op1;
    1613            0 :                 res_op1 =  build_one_cst (type0);
    1614            0 :                 tree _r;
    1615            0 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1616            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1617            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1618            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 451, __FILE__, __LINE__, true);
    1619            0 :                 return _r;
    1620              :               }
    1621              : next_after_fail560:;
    1622              :             }
    1623              :       }
    1624              :     }
    1625              :   return NULL_TREE;
    1626              : }
    1627              : 
    1628              : tree
    1629            0 : generic_simplify_307 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1630              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1631              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1632              : {
    1633            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1634            0 :   if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
    1635              : )
    1636              :     {
    1637            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail574;
    1638            0 :       {
    1639            0 :         tree res_op0;
    1640            0 :         {
    1641            0 :           tree _o1[1], _r1;
    1642            0 :           _o1[0] = captures[0];
    1643            0 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1644            0 :           res_op0 = _r1;
    1645              :         }
    1646            0 :         tree res_op1;
    1647            0 :         res_op1 = captures[1];
    1648            0 :         tree _r;
    1649            0 :         _r = maybe_build_call_expr_loc (loc, COPYSIGN_ALL, type, 2, res_op0, res_op1);
    1650            0 :         if (!_r)
    1651            0 :           goto next_after_fail574;
    1652            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 465, __FILE__, __LINE__, true);
    1653            0 :         return _r;
    1654              :       }
    1655              : next_after_fail574:;
    1656              :     }
    1657              :   return NULL_TREE;
    1658              : }
    1659              : 
    1660              : tree
    1661            0 : generic_simplify_312 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1662              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1663              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1664              : {
    1665            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1666            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail579;
    1667            0 :   {
    1668            0 :     tree res_op0;
    1669            0 :     res_op0 = captures[0];
    1670            0 :     tree _r;
    1671            0 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1672            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1673            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1674            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 470, __FILE__, __LINE__, true);
    1675              :     return _r;
    1676              :   }
    1677            0 : next_after_fail579:;
    1678            0 :   return NULL_TREE;
    1679              : }
    1680              : 
    1681              : tree
    1682            1 : generic_simplify_320 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1683              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1684              :  const enum tree_code ARG_UNUSED (div))
    1685              : {
    1686            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1687            0 :   if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
    1688            1 :  && TYPE_OVERFLOW_UNDEFINED (type)
    1689            1 :  && !integer_zerop (captures[0])
    1690            2 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1691              : )
    1692              :     {
    1693            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail589;
    1694            1 :       {
    1695            1 :         tree _r;
    1696            1 :         _r =  build_minus_one_cst (type);
    1697            1 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1698            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1699            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 478, __FILE__, __LINE__, true);
    1700            1 :         return _r;
    1701              :       }
    1702            0 : next_after_fail589:;
    1703              :     }
    1704              :   return NULL_TREE;
    1705              : }
    1706              : 
    1707              : tree
    1708            3 : generic_simplify_325 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1709              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1710              :  const enum tree_code ARG_UNUSED (div))
    1711              : {
    1712            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1713            3 :   if (INTEGRAL_TYPE_P (type)
    1714            3 :  && wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[3]), SIGNED)
    1715              : )
    1716              :     {
    1717            3 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1718              : )
    1719              :         {
    1720            3 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail595;
    1721            3 :           {
    1722            3 :             tree res_op0;
    1723            3 :             res_op0 = captures[2];
    1724            3 :             tree res_op1;
    1725            3 :             res_op1 = captures[3];
    1726            3 :             tree _r;
    1727            3 :             _r = fold_build2_loc (loc, div, type, res_op0, res_op1);
    1728            3 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1729            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1730            3 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 484, __FILE__, __LINE__, true);
    1731            3 :             return _r;
    1732              :           }
    1733            0 : next_after_fail595:;
    1734              :         }
    1735              :     }
    1736              :   return NULL_TREE;
    1737              : }
    1738              : 
    1739              : tree
    1740            2 : generic_simplify_334 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1741              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1742              : {
    1743            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1744            0 :   if (FLOAT_TYPE_P (type)
    1745            2 :  && ! HONOR_NANS (type)
    1746            2 :  && ! HONOR_INFINITIES (type)
    1747              : )
    1748              :     {
    1749            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail604;
    1750            0 :       {
    1751            0 :         tree _r;
    1752            0 :         _r =  build_minus_one_cst (type);
    1753            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1754            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1755            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 493, __FILE__, __LINE__, true);
    1756            0 :         return _r;
    1757              :       }
    1758            0 : next_after_fail604:;
    1759              :     }
    1760              :   return NULL_TREE;
    1761              : }
    1762              : 
    1763              : tree
    1764            6 : generic_simplify_342 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1765              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1766              :  const combined_fn ARG_UNUSED (TAN),
    1767              :  const combined_fn ARG_UNUSED (SIN),
    1768              :  const combined_fn ARG_UNUSED (COS))
    1769              : {
    1770            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1771            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1772              : )
    1773              :     {
    1774            6 :       if (! HONOR_NANS (captures[1])
    1775            6 :  && ! HONOR_INFINITIES (captures[1])
    1776              : )
    1777              :         {
    1778            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail614;
    1779            6 :           {
    1780            6 :             tree res_op0;
    1781            6 :             res_op0 =  build_one_cst (type);
    1782            6 :             tree res_op1;
    1783            6 :             {
    1784            6 :               tree _o1[1], _r1;
    1785            6 :               _o1[0] = captures[1];
    1786            6 :               _r1 = maybe_build_call_expr_loc (loc, COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1787            6 :               if (!_r1)
    1788            0 :                 goto next_after_fail614;
    1789            6 :               res_op1 = _r1;
    1790              :             }
    1791            6 :             tree _r;
    1792            6 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1793            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 503, __FILE__, __LINE__, true);
    1794            6 :             return _r;
    1795              :           }
    1796              : next_after_fail614:;
    1797              :         }
    1798              :     }
    1799              :   return NULL_TREE;
    1800              : }
    1801              : 
    1802              : tree
    1803            0 : generic_simplify_352 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1804              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1805              :  const enum tree_code ARG_UNUSED (cmp))
    1806              : {
    1807            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1808            0 :   if (INTEGRAL_TYPE_P (type)
    1809              : )
    1810              :     {
    1811            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail630;
    1812            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail630;
    1813            0 :       {
    1814            0 :         tree _r;
    1815            0 :         _r = captures[2];
    1816            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1817            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1818            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 519, __FILE__, __LINE__, true);
    1819            0 :         return _r;
    1820              :       }
    1821              : next_after_fail630:;
    1822              :     }
    1823              :   return NULL_TREE;
    1824              : }
    1825              : 
    1826              : tree
    1827           21 : generic_simplify_356 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1828              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1829              : {
    1830           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1831           21 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail634;
    1832           21 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail634;
    1833           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail634;
    1834           21 :   {
    1835           21 :     tree _r;
    1836           21 :     _r = captures[2];
    1837           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 523, __FILE__, __LINE__, true);
    1838              :     return _r;
    1839              :   }
    1840              : next_after_fail634:;
    1841              :   return NULL_TREE;
    1842              : }
    1843              : 
    1844              : tree
    1845            0 : generic_simplify_359 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1846              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1847              :  const enum tree_code ARG_UNUSED (op))
    1848              : {
    1849            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1850            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail637;
    1851            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail637;
    1852            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail637;
    1853            0 :   {
    1854            0 :     tree _r;
    1855            0 :     _r = captures[2];
    1856            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 526, __FILE__, __LINE__, true);
    1857              :     return _r;
    1858              :   }
    1859              : next_after_fail637:;
    1860              :   return NULL_TREE;
    1861              : }
    1862              : 
    1863              : tree
    1864            0 : generic_simplify_366 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1865              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1866              : {
    1867            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1868            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail644;
    1869            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail644;
    1870            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail644;
    1871            0 :   {
    1872            0 :     tree _r;
    1873            0 :     _r = captures[2];
    1874            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 533, __FILE__, __LINE__, true);
    1875              :     return _r;
    1876              :   }
    1877              : next_after_fail644:;
    1878              :   return NULL_TREE;
    1879              : }
    1880              : 
    1881              : tree
    1882            0 : generic_simplify_372 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1883              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1884              :  const combined_fn ARG_UNUSED (func))
    1885              : {
    1886            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1887            0 :   if (wi::to_widest (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[3])) - 1
    1888              : )
    1889              :     {
    1890            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail651;
    1891            0 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail651;
    1892            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail651;
    1893            0 :       {
    1894            0 :         tree _r;
    1895            0 :         _r = captures[2];
    1896            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1897            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1898            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 540, __FILE__, __LINE__, true);
    1899            0 :         return _r;
    1900              :       }
    1901              : next_after_fail651:;
    1902              :     }
    1903              :   return NULL_TREE;
    1904              : }
    1905              : 
    1906              : tree
    1907        19882 : generic_simplify_380 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1908              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1909              :  const enum tree_code ARG_UNUSED (cmp))
    1910              : {
    1911        19882 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1912        39764 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1913        39703 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1914              : )
    1915              :     {
    1916        16421 :       if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1])
    1917              : )
    1918              :         {
    1919        12854 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail662;
    1920        12854 :           {
    1921        12854 :             tree res_op0;
    1922        12854 :             res_op0 = captures[0];
    1923        12854 :             tree res_op1;
    1924        12854 :             res_op1 = captures[2];
    1925        12854 :             tree _r;
    1926        12854 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1927        12854 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1928            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1929        12854 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 549, __FILE__, __LINE__, true);
    1930        12854 :             return _r;
    1931              :           }
    1932            0 : next_after_fail662:;
    1933              :         }
    1934              :       else
    1935              :         {
    1936         3567 :           if (TREE_CODE (captures[1]) == INTEGER_CST
    1937         3567 :  && wi::neg_p (wi::to_wide (captures[1]), TYPE_SIGN (TREE_TYPE (captures[1])))
    1938              : )
    1939              :             {
    1940         1107 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail663;
    1941         1107 :               {
    1942         1107 :                 tree res_op0;
    1943         1107 :                 res_op0 = captures[2];
    1944         1107 :                 tree res_op1;
    1945         1107 :                 res_op1 = captures[0];
    1946         1107 :                 tree _r;
    1947         1107 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1948         1107 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1949            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1950         1107 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 550, __FILE__, __LINE__, true);
    1951         1107 :                 return _r;
    1952              :               }
    1953            0 : next_after_fail663:;
    1954              :             }
    1955              :         }
    1956              :     }
    1957              :   return NULL_TREE;
    1958              : }
    1959              : 
    1960              : tree
    1961        37359 : generic_simplify_393 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1962              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1963              :  const enum tree_code ARG_UNUSED (cmp),
    1964              :  const enum tree_code ARG_UNUSED (out))
    1965              : {
    1966        37359 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1967        37359 :   if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    1968        37343 :  && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[0]))
    1969        37343 :  && tree_nop_conversion_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
    1970        37359 :  && wi::to_wide (captures[4]) != 0
    1971            0 :  && single_use (captures[1])
    1972              : )
    1973              :     {
    1974        37343 :       {
    1975        37343 :  unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
    1976        37343 :  signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
    1977        37343 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail677;
    1978        37343 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail677;
    1979        37343 :           {
    1980        37343 :             tree res_op0;
    1981        37343 :             res_op0 = captures[3];
    1982        37343 :             tree res_op1;
    1983        37343 :             res_op1 =  wide_int_to_tree (TREE_TYPE (captures[3]),
    1984        37343 :  wi::max_value (prec, sign)
    1985       112029 :  - wi::to_wide (captures[4]));
    1986        37343 :             tree _r;
    1987        37343 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    1988        37343 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 564, __FILE__, __LINE__, true);
    1989        37343 :             return _r;
    1990              :           }
    1991              : next_after_fail677:;
    1992              :       }
    1993              :     }
    1994              :   return NULL_TREE;
    1995              : }
    1996              : 
    1997              : tree
    1998         1091 : generic_simplify_403 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1999              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2000              :  const enum tree_code ARG_UNUSED (cmp),
    2001              :  const enum tree_code ARG_UNUSED (out))
    2002              : {
    2003         1091 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2004         1091 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2005              : )
    2006              :     {
    2007         1073 :       {
    2008         1073 :  tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
    2009         1073 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail719;
    2010         1061 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail719;
    2011         1061 :           {
    2012         1061 :             tree res_op0;
    2013         1061 :             {
    2014         1061 :               tree _o1[1], _r1;
    2015         1061 :               {
    2016         1061 :                 tree _o2[2], _r2;
    2017         1061 :                 _o2[0] = captures[2];
    2018         1061 :                 _o2[1] = captures[1];
    2019         1061 :                 _r2 = maybe_build_call_expr_loc (loc, CFN_MUL_OVERFLOW, cpx, 2, _o2[0], _o2[1]);
    2020         1061 :                 if (!_r2)
    2021            0 :                   goto next_after_fail719;
    2022         1061 :                 _o1[0] = _r2;
    2023              :               }
    2024         1061 :               _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2025         1061 :               res_op0 = _r1;
    2026              :             }
    2027         1061 :             tree res_op1;
    2028         1061 :             res_op1 =  build_zero_cst (t);
    2029         1061 :             tree _r;
    2030         1061 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2031         1061 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 589, __FILE__, __LINE__, true);
    2032         1061 :             return _r;
    2033              :           }
    2034              : next_after_fail719:;
    2035              :       }
    2036              :     }
    2037              :   return NULL_TREE;
    2038              : }
    2039              : 
    2040              : tree
    2041        13232 : generic_simplify_410 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2042              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2043              :  const enum tree_code ARG_UNUSED (cmp),
    2044              :  const enum tree_code ARG_UNUSED (eqcmp))
    2045              : {
    2046        13232 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2047        13232 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2048              : )
    2049              :     {
    2050        13232 :       {
    2051        13232 :  tree ty = TREE_TYPE (captures[0]);
    2052        13232 :  unsigned prec = TYPE_PRECISION (ty);
    2053        13232 :  wide_int mask = wi::to_wide (captures[2], prec);
    2054        13232 :  wide_int rhs = wi::to_wide (captures[3], prec);
    2055        13232 :  signop sgn = TYPE_SIGN (ty);
    2056        37460 :           if ((mask & (mask + 1)) == 0 && wi::gt_p (rhs, 0, sgn)
    2057        48288 :  && (rhs & (rhs + 1)) == 0 && wi::ge_p (mask, rhs, sgn)
    2058              : )
    2059              :             {
    2060          821 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail733;
    2061          821 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail733;
    2062          821 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail733;
    2063          821 :               {
    2064          821 :                 tree res_op0;
    2065          821 :                 {
    2066          821 :                   tree _o1[2], _r1;
    2067          821 :                   _o1[0] = captures[1];
    2068          821 :                   _o1[1] =  wide_int_to_tree (ty, mask - rhs);
    2069          821 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2070          821 :                   res_op0 = _r1;
    2071              :                 }
    2072          821 :                 tree res_op1;
    2073          821 :                 res_op1 =  build_zero_cst (ty);
    2074          821 :                 tree _r;
    2075          821 :                 _r = fold_build2_loc (loc, eqcmp, type, res_op0, res_op1);
    2076          821 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 603, __FILE__, __LINE__, true);
    2077          821 :                 return _r;
    2078              :               }
    2079        12411 : next_after_fail733:;
    2080              :             }
    2081        13232 :       }
    2082              :     }
    2083              :   return NULL_TREE;
    2084              : }
    2085              : 
    2086              : tree
    2087            0 : generic_simplify_416 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2088              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2089              :  const combined_fn ARG_UNUSED (logs),
    2090              :  const combined_fn ARG_UNUSED (exps),
    2091              :  const enum tree_code ARG_UNUSED (cmp))
    2092              : {
    2093            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2094            0 :   if (flag_unsafe_math_optimizations
    2095              : )
    2096              :     {
    2097            0 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2098            0 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
    2099            0 :  && ! flag_trapping_math
    2100            0 :  && ! flag_errno_math
    2101              : )
    2102              :         {
    2103            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail739;
    2104            0 :           {
    2105            0 :             tree res_op0;
    2106            0 :             res_op0 = captures[1];
    2107            0 :             tree res_op1;
    2108            0 :             {
    2109            0 :               tree _o1[1], _r1;
    2110            0 :               _o1[0] = captures[2];
    2111            0 :               _r1 = maybe_build_call_expr_loc (loc, exps, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2112            0 :               if (!_r1)
    2113            0 :                 goto next_after_fail739;
    2114            0 :               if (EXPR_P (_r1))
    2115            0 :                 goto next_after_fail739;
    2116            0 :               res_op1 = _r1;
    2117              :             }
    2118            0 :             tree _r;
    2119            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2120            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 605, __FILE__, __LINE__, true);
    2121            0 :             return _r;
    2122              :           }
    2123              : next_after_fail739:;
    2124              :         }
    2125              :     }
    2126              :   return NULL_TREE;
    2127              : }
    2128              : 
    2129              : tree
    2130         2816 : generic_simplify_423 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2131              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2132              :  const enum tree_code ARG_UNUSED (shiftrotate))
    2133              : {
    2134         2816 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2135         2816 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail750;
    2136         2816 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail750;
    2137         2816 :   {
    2138         2816 :     tree res_op0;
    2139         2816 :     res_op0 = captures[0];
    2140         2816 :     tree _r;
    2141         2816 :     _r = non_lvalue_loc (loc, res_op0);
    2142         2816 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 616, __FILE__, __LINE__, true);
    2143              :     return _r;
    2144              :   }
    2145              : next_after_fail750:;
    2146              :   return NULL_TREE;
    2147              : }
    2148              : 
    2149              : tree
    2150           86 : generic_simplify_427 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2151              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2152              :  const enum tree_code ARG_UNUSED (op))
    2153              : {
    2154           86 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2155           86 :   {
    2156           86 :  unsigned int prec = element_precision (type);
    2157           86 :       if (wi::ge_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
    2158           86 :  && wi::lt_p (wi::to_wide (captures[1]), prec, TYPE_SIGN (TREE_TYPE (captures[1])))
    2159           86 :  && wi::ge_p (wi::to_wide (captures[2]), 0, TYPE_SIGN (TREE_TYPE (captures[2])))
    2160          172 :  && wi::lt_p (wi::to_wide (captures[2]), prec, TYPE_SIGN (TREE_TYPE (captures[2])))
    2161              : )
    2162              :         {
    2163           86 :           {
    2164           86 :  unsigned int low = (tree_to_uhwi (captures[1])
    2165           86 :  + tree_to_uhwi (captures[2]));
    2166           86 :               if (low >= prec
    2167              : )
    2168              :                 {
    2169           25 :                   if (op == LROTATE_EXPR || op == RROTATE_EXPR
    2170              : )
    2171              :                     {
    2172            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail754;
    2173            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail754;
    2174            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail754;
    2175            0 :                       {
    2176            0 :                         tree res_op0;
    2177            0 :                         res_op0 = captures[0];
    2178            0 :                         tree res_op1;
    2179            0 :                         res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low % prec);
    2180            0 :                         tree _r;
    2181            0 :                         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2182            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 619, __FILE__, __LINE__, true);
    2183           86 :                         return _r;
    2184              :                       }
    2185              : next_after_fail754:;
    2186              :                     }
    2187              :                   else
    2188              :                     {
    2189           25 :                       if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR
    2190              : )
    2191              :                         {
    2192           24 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail755;
    2193           24 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail755;
    2194           24 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail755;
    2195           24 :                           {
    2196           24 :                             tree _r;
    2197           24 :                             _r =  build_zero_cst (type);
    2198           24 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    2199           14 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2200           24 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 620, __FILE__, __LINE__, true);
    2201           24 :                             return _r;
    2202              :                           }
    2203              : next_after_fail755:;
    2204              :                         }
    2205              :                       else
    2206              :                         {
    2207            1 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail756;
    2208            1 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail756;
    2209            1 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail756;
    2210            1 :                           {
    2211            1 :                             tree res_op0;
    2212            1 :                             res_op0 = captures[0];
    2213            1 :                             tree res_op1;
    2214            1 :                             res_op1 =  build_int_cst (TREE_TYPE (captures[1]), prec - 1);
    2215            1 :                             tree _r;
    2216            1 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2217            1 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 621, __FILE__, __LINE__, true);
    2218            1 :                             return _r;
    2219              :                           }
    2220              : next_after_fail756:;
    2221              :                         }
    2222              :                     }
    2223              :                 }
    2224              :               else
    2225              :                 {
    2226           61 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail757;
    2227           61 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail757;
    2228           61 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail757;
    2229           61 :                   {
    2230           61 :                     tree res_op0;
    2231           61 :                     res_op0 = captures[0];
    2232           61 :                     tree res_op1;
    2233           61 :                     res_op1 =  build_int_cst (TREE_TYPE (captures[1]), low);
    2234           61 :                     tree _r;
    2235           61 :                     _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2236           61 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 622, __FILE__, __LINE__, true);
    2237           61 :                     return _r;
    2238              :                   }
    2239              : next_after_fail757:;
    2240              :                 }
    2241              :           }
    2242              :         }
    2243              :   }
    2244            0 :   return NULL_TREE;
    2245              : }
    2246              : 
    2247              : tree
    2248            0 : generic_simplify_443 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2249              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2250              :  const combined_fn ARG_UNUSED (coss),
    2251              :  const combined_fn ARG_UNUSED (atans),
    2252              :  const combined_fn ARG_UNUSED (sqrts),
    2253              :  const combined_fn ARG_UNUSED (copysigns))
    2254              : {
    2255            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2256            0 :   {
    2257            0 :  REAL_VALUE_TYPE r_cst;
    2258            0 :  build_sinatan_real (&r_cst, type);
    2259            0 :  tree t_cst = build_real (type, r_cst);
    2260            0 :  tree t_one = build_one_cst (type);
    2261            0 :  tree t_zero = build_zero_cst (type);
    2262            0 :       if (SCALAR_FLOAT_TYPE_P (type)
    2263              : )
    2264              :         {
    2265            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail791;
    2266            0 :           {
    2267            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail791;
    2268            0 :             tree res_op0;
    2269            0 :             {
    2270            0 :               tree _o1[2], _r1;
    2271            0 :               {
    2272            0 :                 tree _o2[1], _r2;
    2273            0 :                 _o2[0] = unshare_expr (captures[1]);
    2274            0 :                 _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    2275            0 :                 _o1[0] = _r2;
    2276              :               }
    2277            0 :               _o1[1] =  t_cst;
    2278            0 :               _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    2279            0 :               res_op0 = _r1;
    2280              :             }
    2281            0 :             tree res_op1;
    2282            0 :             {
    2283            0 :               tree _o1[2], _r1;
    2284            0 :               _o1[0] =  t_one;
    2285            0 :               {
    2286            0 :                 tree _o2[1], _r2;
    2287            0 :                 {
    2288            0 :                   tree _o3[2], _r3;
    2289            0 :                   {
    2290            0 :                     tree _o4[2], _r4;
    2291            0 :                     _o4[0] = unshare_expr (captures[1]);
    2292            0 :                     _o4[1] = unshare_expr (captures[1]);
    2293            0 :                     _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
    2294            0 :                     _o3[0] = _r4;
    2295              :                   }
    2296            0 :                   _o3[1] =  t_one;
    2297            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2298            0 :                   _o2[0] = _r3;
    2299              :                 }
    2300            0 :                 _r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
    2301            0 :                 if (!_r2)
    2302            0 :                   goto next_after_fail791;
    2303            0 :                 _o1[1] = _r2;
    2304              :               }
    2305            0 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2306            0 :               res_op1 = _r1;
    2307              :             }
    2308            0 :             tree res_op2;
    2309            0 :             {
    2310            0 :               tree _o1[2], _r1;
    2311            0 :               _o1[0] =  t_zero;
    2312            0 :               _o1[1] = captures[1];
    2313            0 :               _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    2314            0 :               if (!_r1)
    2315            0 :                 goto next_after_fail791;
    2316            0 :               res_op2 = _r1;
    2317              :             }
    2318            0 :             tree _r;
    2319            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2320            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 643, __FILE__, __LINE__, true);
    2321            0 :             return _r;
    2322              :           }
    2323            0 : next_after_fail791:;
    2324              :         }
    2325              :   }
    2326            0 :   return NULL_TREE;
    2327              : }
    2328              : 
    2329              : tree
    2330            0 : generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2331              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2332              :  const combined_fn ARG_UNUSED (copysigns),
    2333              :  const combined_fn ARG_UNUSED (hypots))
    2334              : {
    2335            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2336            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail798;
    2337            0 :   {
    2338            0 :     tree res_op0;
    2339            0 :     res_op0 = captures[0];
    2340            0 :     tree res_op1;
    2341            0 :     res_op1 = captures[2];
    2342            0 :     tree _r;
    2343            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2344            0 :     if (!_r)
    2345            0 :       goto next_after_fail798;
    2346            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2347            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2348            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 650, __FILE__, __LINE__, true);
    2349              :     return _r;
    2350              :   }
    2351              : next_after_fail798:;
    2352              :   return NULL_TREE;
    2353              : }
    2354              : 
    2355              : tree
    2356      5150956 : generic_simplify_454 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2357              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2358              : {
    2359      5150956 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2360      5150956 :   {
    2361      5150956 :  bool wascmp;
    2362      5150956 :       if (types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2363      5150956 :  && bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    2364              : )
    2365              :         {
    2366          115 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail802;
    2367          115 :           {
    2368          115 :             tree _r;
    2369          115 :             _r =  wascmp ? constant_boolean_node (false, type) : build_zero_cst (type);
    2370          115 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2371            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2372          115 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2373            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2374          115 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 654, __FILE__, __LINE__, true);
    2375          115 :             return _r;
    2376              :           }
    2377            0 : next_after_fail802:;
    2378              :         }
    2379              :   }
    2380      5150841 :   return NULL_TREE;
    2381              : }
    2382              : 
    2383              : tree
    2384          355 : generic_simplify_463 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2385              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2386              :  const enum tree_code ARG_UNUSED (bitop),
    2387              :  const enum tree_code ARG_UNUSED (op))
    2388              : {
    2389          355 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2390          355 :   {
    2391          355 :  tree pmop[2];
    2392          355 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], ERROR_MARK,
    2393              :  NULL_TREE, NULL_TREE, captures[2], bitop, captures[3],
    2394              :  captures[4], pmop);
    2395          355 :       if (utype
    2396              : )
    2397              :         {
    2398          354 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail811;
    2399          354 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail811;
    2400          354 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail811;
    2401          354 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail811;
    2402          354 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail811;
    2403          354 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail811;
    2404          354 :           {
    2405          354 :             tree res_op0;
    2406          354 :             {
    2407          354 :               tree _o1[2], _r1;
    2408          354 :               {
    2409          354 :                 tree _o2[2], _r2;
    2410          354 :                 {
    2411          354 :                   tree _o3[1], _r3;
    2412          354 :                   _o3[0] =  pmop[0];
    2413          354 :                   if (TREE_TYPE (_o3[0]) != utype)
    2414              :                     {
    2415           14 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2416              :                     }
    2417              :                   else
    2418              :                     _r3 = _o3[0];
    2419          354 :                   _o2[0] = _r3;
    2420              :                 }
    2421          354 :                 {
    2422          354 :                   tree _o3[1], _r3;
    2423          354 :                   _o3[0] =  pmop[1];
    2424          354 :                   if (TREE_TYPE (_o3[0]) != utype)
    2425              :                     {
    2426           74 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2427              :                     }
    2428              :                   else
    2429              :                     _r3 = _o3[0];
    2430          354 :                   _o2[1] = _r3;
    2431              :                 }
    2432          354 :                 _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2433          354 :                 _o1[0] = _r2;
    2434              :               }
    2435          354 :               {
    2436          354 :                 tree _o2[1], _r2;
    2437          354 :                 _o2[0] = captures[5];
    2438          354 :                 if (TREE_TYPE (_o2[0]) != utype)
    2439              :                   {
    2440           14 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2441              :                   }
    2442              :                 else
    2443              :                   _r2 = _o2[0];
    2444          354 :                 _o1[1] = _r2;
    2445              :               }
    2446          354 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2447          354 :               res_op0 = _r1;
    2448              :             }
    2449          354 :             tree _r;
    2450          354 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2451          354 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 662, __FILE__, __LINE__, true);
    2452          354 :             return _r;
    2453              :           }
    2454            1 : next_after_fail811:;
    2455              :         }
    2456              :   }
    2457            1 :   return NULL_TREE;
    2458              : }
    2459              : 
    2460              : tree
    2461          162 : generic_simplify_479 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2462              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2463              :  const enum tree_code ARG_UNUSED (code2),
    2464              :  const enum tree_code ARG_UNUSED (code1))
    2465              : {
    2466          162 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2467          162 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2468           50 :  && TREE_CODE (captures[4]) == INTEGER_CST)
    2469          162 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2470           14 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2471            4 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2472           10 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2473          102 :  && operand_equal_p (captures[2], captures[4]))
    2474              : )
    2475              :     {
    2476           54 :       {
    2477           54 :  int cmp = 0;
    2478           54 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2479           50 :  && TREE_CODE (captures[4]) == INTEGER_CST)
    2480           50 :  cmp = tree_int_cst_compare (captures[2], captures[4]);
    2481           54 :           if ((code1 == LT_EXPR || code1 == LE_EXPR)
    2482            4 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
    2483              : )
    2484              :             {
    2485            0 :               if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
    2486              : )
    2487              :                 {
    2488            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail841;
    2489            0 :                   if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail841;
    2490            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail841;
    2491            0 :                   {
    2492            0 :                     tree _r;
    2493            0 :                     _r = captures[0];
    2494            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 684, __FILE__, __LINE__, true);
    2495            0 :                     return _r;
    2496              :                   }
    2497              : next_after_fail841:;
    2498              :                 }
    2499              :               else
    2500              :                 {
    2501            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail842;
    2502            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail842;
    2503            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail842;
    2504            0 :                   {
    2505            0 :                     tree _r;
    2506            0 :                     _r = captures[3];
    2507            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 685, __FILE__, __LINE__, true);
    2508            0 :                     return _r;
    2509              :                   }
    2510              : next_after_fail842:;
    2511              :                 }
    2512              :             }
    2513              :           else
    2514              :             {
    2515           54 :               if ((code1 == GT_EXPR || code1 == GE_EXPR)
    2516           50 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
    2517              : )
    2518              :                 {
    2519            0 :                   if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
    2520              : )
    2521              :                     {
    2522            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail843;
    2523            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail843;
    2524            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail843;
    2525            0 :                       {
    2526            0 :                         tree _r;
    2527            0 :                         _r = captures[0];
    2528            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 686, __FILE__, __LINE__, true);
    2529            0 :                         return _r;
    2530              :                       }
    2531              : next_after_fail843:;
    2532              :                     }
    2533              :                   else
    2534              :                     {
    2535            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail844;
    2536            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail844;
    2537            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail844;
    2538            0 :                       {
    2539            0 :                         tree _r;
    2540            0 :                         _r = captures[3];
    2541            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 687, __FILE__, __LINE__, true);
    2542            0 :                         return _r;
    2543              :                       }
    2544              : next_after_fail844:;
    2545              :                     }
    2546              :                 }
    2547              :               else
    2548              :                 {
    2549           54 :                   if (cmp == 0
    2550            4 :  && ((code1 == LE_EXPR && code2 == GE_EXPR)
    2551            4 :  || (code1 == GE_EXPR && code2 == LE_EXPR))
    2552              : )
    2553              :                     {
    2554            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail845;
    2555            0 :                       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail845;
    2556            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail845;
    2557            0 :                       {
    2558            0 :                         tree res_op0;
    2559            0 :                         res_op0 = captures[1];
    2560            0 :                         tree res_op1;
    2561            0 :                         res_op1 = captures[2];
    2562            0 :                         tree _r;
    2563            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2564            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 688, __FILE__, __LINE__, true);
    2565            0 :                         return _r;
    2566              :                       }
    2567              : next_after_fail845:;
    2568              :                     }
    2569              :                   else
    2570              :                     {
    2571           54 :                       if (cmp <= 0
    2572           53 :  && (code1 == LT_EXPR || code1 == LE_EXPR)
    2573            4 :  && (code2 == GT_EXPR || code2 == GE_EXPR)
    2574              : )
    2575              :                         {
    2576            4 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail846;
    2577            4 :                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail846;
    2578            4 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail846;
    2579            4 :                           {
    2580            4 :                             tree _r;
    2581            4 :                             _r =  constant_boolean_node (false, type);
    2582            4 :                             if (TREE_SIDE_EFFECTS (captures[1]))
    2583            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2584            4 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 689, __FILE__, __LINE__, true);
    2585            4 :                             return _r;
    2586              :                           }
    2587              : next_after_fail846:;
    2588              :                         }
    2589              :                       else
    2590              :                         {
    2591           49 :                           if (cmp >= 0
    2592            1 :  && (code1 == GT_EXPR || code1 == GE_EXPR)
    2593            1 :  && (code2 == LT_EXPR || code2 == LE_EXPR)
    2594              : )
    2595              :                             {
    2596            1 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail847;
    2597            1 :                               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail847;
    2598            1 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail847;
    2599            1 :                               {
    2600            1 :                                 tree _r;
    2601            1 :                                 _r =  constant_boolean_node (false, type);
    2602            1 :                                 if (TREE_SIDE_EFFECTS (captures[1]))
    2603            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2604            1 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 690, __FILE__, __LINE__, true);
    2605            1 :                                 return _r;
    2606              :                               }
    2607              : next_after_fail847:;
    2608              :                             }
    2609              :                         }
    2610              :                     }
    2611              :                 }
    2612              :             }
    2613              :       }
    2614              :     }
    2615              :   return NULL_TREE;
    2616              : }
    2617              : 
    2618              : tree
    2619           34 : generic_simplify_496 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2620              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2621              :  const combined_fn ARG_UNUSED (bswap))
    2622              : {
    2623           34 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2624           34 :   if (BITS_PER_UNIT == 8
    2625           34 :  && tree_fits_uhwi_p (captures[2])
    2626           34 :  && tree_to_uhwi (captures[2]) < 256
    2627              : )
    2628              :     {
    2629           32 :       {
    2630           32 :  unsigned HOST_WIDE_INT prec = TYPE_PRECISION (TREE_TYPE (captures[0]));
    2631           32 :  tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
    2632           32 :  tree nst = build_int_cst (integer_type_node, prec - 8);
    2633           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail887;
    2634           32 :           {
    2635           32 :             tree res_op0;
    2636           32 :             {
    2637           32 :               tree _o1[1], _r1;
    2638           32 :               {
    2639           32 :                 tree _o2[2], _r2;
    2640           32 :                 {
    2641           32 :                   tree _o3[1], _r3;
    2642           32 :                   _o3[0] = captures[1];
    2643           32 :                   if (TREE_TYPE (_o3[0]) != utype)
    2644              :                     {
    2645            0 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2646              :                     }
    2647              :                   else
    2648              :                     _r3 = _o3[0];
    2649           32 :                   _o2[0] = _r3;
    2650              :                 }
    2651           32 :                 _o2[1] = nst;
    2652           32 :                 _r2 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o2[0], _o2[1]);
    2653           32 :                 _o1[0] = _r2;
    2654              :               }
    2655           32 :               if (TREE_TYPE (_o1[0]) != type)
    2656              :                 {
    2657           18 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2658              :                 }
    2659              :               else
    2660              :                 _r1 = _o1[0];
    2661           32 :               res_op0 = _r1;
    2662              :             }
    2663           32 :             tree res_op1;
    2664           32 :             res_op1 = captures[2];
    2665           32 :             tree _r;
    2666           32 :             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2667           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 700, __FILE__, __LINE__, true);
    2668           32 :             return _r;
    2669              :           }
    2670            0 : next_after_fail887:;
    2671              :       }
    2672              :     }
    2673              :   return NULL_TREE;
    2674              : }
    2675              : 
    2676              : tree
    2677            0 : generic_simplify_499 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2678              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2679              : {
    2680            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2681            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail890;
    2682            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail890;
    2683            0 :   {
    2684            0 :     tree _r;
    2685            0 :     _r = captures[1];
    2686            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 702, __FILE__, __LINE__, true);
    2687              :     return _r;
    2688              :   }
    2689              : next_after_fail890:;
    2690              :   return NULL_TREE;
    2691              : }
    2692              : 
    2693              : tree
    2694           28 : generic_simplify_504 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2695              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2696              : {
    2697           28 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2698           28 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
    2699           28 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2700              : )
    2701              :     {
    2702           28 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail896;
    2703           28 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail896;
    2704           28 :       {
    2705           28 :         tree res_op0;
    2706           28 :         {
    2707           28 :           tree _o1[1], _r1;
    2708           28 :           _o1[0] = captures[0];
    2709           28 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2710           28 :           res_op0 = _r1;
    2711              :         }
    2712           28 :         tree _r;
    2713           28 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2714           28 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 708, __FILE__, __LINE__, true);
    2715           28 :         return _r;
    2716              :       }
    2717              : next_after_fail896:;
    2718              :     }
    2719              :   return NULL_TREE;
    2720              : }
    2721              : 
    2722              : tree
    2723            0 : generic_simplify_512 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2724              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2725              :  const enum tree_code ARG_UNUSED (rotate))
    2726              : {
    2727            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2728            0 :   if ((element_precision (TREE_TYPE (captures[2]))
    2729            0 :  <= element_precision (TREE_TYPE (captures[3]))
    2730            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2731            0 :  && (element_precision (type) <= element_precision (TREE_TYPE (captures[2]))
    2732            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[2])))
    2733              : )
    2734              :     {
    2735            0 :       {
    2736            0 :  tree rotate_type = TREE_TYPE (captures[2]);
    2737            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail904;
    2738            0 :           {
    2739            0 :             tree res_op0;
    2740            0 :             {
    2741            0 :               tree _o1[2], _r1;
    2742            0 :               {
    2743            0 :                 tree _o2[1], _r2;
    2744            0 :                 _o2[0] = captures[3];
    2745            0 :                 if (TREE_TYPE (_o2[0]) != rotate_type)
    2746              :                   {
    2747            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, rotate_type, _o2[0]);
    2748              :                   }
    2749              :                 else
    2750              :                   _r2 = _o2[0];
    2751            0 :                 _o1[0] = _r2;
    2752              :               }
    2753            0 :               _o1[1] = captures[4];
    2754            0 :               _r1 = fold_build2_loc (loc, rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2755            0 :               res_op0 = _r1;
    2756              :             }
    2757            0 :             tree _r;
    2758            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2759            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
    2760            0 :             return _r;
    2761              :           }
    2762            0 : next_after_fail904:;
    2763              :       }
    2764              :     }
    2765              :   return NULL_TREE;
    2766              : }
    2767              : 
    2768              : tree
    2769            0 : generic_simplify_523 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2770              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2771              :  const enum tree_code ARG_UNUSED (tcc_comparison))
    2772              : {
    2773            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2774            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail917;
    2775            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail917;
    2776            0 :   {
    2777            0 :     tree res_op0;
    2778            0 :     res_op0 = captures[1];
    2779            0 :     tree res_op1;
    2780            0 :     res_op1 =  build_one_cst (type);
    2781            0 :     tree res_op2;
    2782            0 :     res_op2 =  build_zero_cst (type);
    2783            0 :     tree _r;
    2784            0 :     _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2785            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 727, __FILE__, __LINE__, true);
    2786              :     return _r;
    2787              :   }
    2788              : next_after_fail917:;
    2789              :   return NULL_TREE;
    2790              : }
    2791              : 
    2792              : tree
    2793           47 : generic_simplify_533 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2794              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2795              :  const enum tree_code ARG_UNUSED (minmax),
    2796              :  const enum tree_code ARG_UNUSED (cmp))
    2797              : {
    2798           47 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2799           47 :   {
    2800           47 :  poly_int64 off0, off1;
    2801           47 :  tree base0, base1;
    2802           47 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2803              :  off0, off1,
    2804              : 1
    2805              : );
    2806           47 :       if (equal == 1
    2807              : )
    2808              :         {
    2809            0 :           if (minmax == MIN_EXPR
    2810              : )
    2811              :             {
    2812            0 :               if (known_le (off0, off1)
    2813              : )
    2814              :                 {
    2815            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail929;
    2816            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail929;
    2817            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail929;
    2818            0 :                   {
    2819            0 :                     tree _r;
    2820            0 :                     _r = captures[0];
    2821            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 738, __FILE__, __LINE__, true);
    2822            0 :                     return _r;
    2823              :                   }
    2824           47 : next_after_fail929:;
    2825              :                 }
    2826              :               else
    2827              :                 {
    2828            0 :                   if (known_gt (off0, off1)
    2829              : )
    2830              :                     {
    2831            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail930;
    2832            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail930;
    2833            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail930;
    2834            0 :                       {
    2835            0 :                         tree _r;
    2836            0 :                         _r = captures[2];
    2837            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 739, __FILE__, __LINE__, true);
    2838            0 :                         return _r;
    2839              :                       }
    2840           47 : next_after_fail930:;
    2841              :                     }
    2842              :                 }
    2843              :             }
    2844              :           else
    2845              :             {
    2846            0 :               if (known_ge (off0, off1)
    2847              : )
    2848              :                 {
    2849            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail931;
    2850            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail931;
    2851            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail931;
    2852            0 :                   {
    2853            0 :                     tree _r;
    2854            0 :                     _r = captures[0];
    2855            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 740, __FILE__, __LINE__, true);
    2856            0 :                     return _r;
    2857              :                   }
    2858           47 : next_after_fail931:;
    2859              :                 }
    2860              :               else
    2861              :                 {
    2862            0 :                   if (known_lt (off0, off1)
    2863              : )
    2864              :                     {
    2865            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail932;
    2866            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail932;
    2867            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail932;
    2868            0 :                       {
    2869            0 :                         tree _r;
    2870            0 :                         _r = captures[2];
    2871            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 741, __FILE__, __LINE__, true);
    2872            0 :                         return _r;
    2873              :                       }
    2874           47 : next_after_fail932:;
    2875              :                     }
    2876              :                 }
    2877              :             }
    2878              :         }
    2879              :   }
    2880           47 :   return NULL_TREE;
    2881              : }
    2882              : 
    2883              : tree
    2884            0 : generic_simplify_554 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2885              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2886              :  const combined_fn ARG_UNUSED (cond_len_op))
    2887              : {
    2888            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2889            0 :   {
    2890            0 :  tree op_type = TREE_TYPE (captures[3]);
    2891            0 :       if (element_precision (type) == element_precision (op_type)
    2892              : )
    2893              :         {
    2894            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail962;
    2895            0 :           {
    2896            0 :             tree res_op0;
    2897            0 :             {
    2898            0 :               tree _o1[6], _r1;
    2899            0 :               _o1[0] = captures[0];
    2900            0 :               _o1[1] = captures[1];
    2901            0 :               _o1[2] = captures[2];
    2902            0 :               {
    2903            0 :                 tree _o2[1], _r2;
    2904            0 :                 _o2[0] = captures[6];
    2905            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2906              :                   {
    2907            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2908              :                   }
    2909              :                 else
    2910              :                   _r2 = _o2[0];
    2911            0 :                 _o1[3] = _r2;
    2912              :               }
    2913            0 :               _o1[4] = captures[4];
    2914            0 :               _o1[5] = captures[5];
    2915            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_len_op, TREE_TYPE (_o1[1]), 6, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4], _o1[5]);
    2916            0 :               if (!_r1)
    2917            0 :                 goto next_after_fail962;
    2918            0 :               res_op0 = _r1;
    2919              :             }
    2920            0 :             tree _r;
    2921            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2922            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    2923            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    2924            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 754, __FILE__, __LINE__, true);
    2925            0 :             return _r;
    2926              :           }
    2927              : next_after_fail962:;
    2928              :         }
    2929              :   }
    2930              :   return NULL_TREE;
    2931              : }
    2932              : 
    2933              : tree
    2934            0 : generic_simplify_564 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2935              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2936              :  const combined_fn ARG_UNUSED (bswap))
    2937              : {
    2938            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2939            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail975;
    2940            0 :   {
    2941            0 :     tree _r;
    2942            0 :     _r = captures[0];
    2943            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 767, __FILE__, __LINE__, true);
    2944              :     return _r;
    2945              :   }
    2946            0 : next_after_fail975:;
    2947            0 :   return NULL_TREE;
    2948              : }
    2949              : 
    2950              : tree
    2951            0 : generic_simplify_571 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2952              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2953              :  const combined_fn ARG_UNUSED (ovf))
    2954              : {
    2955            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2956            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2957            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2958            0 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2959            0 :  && (!TYPE_UNSIGNED (TREE_TYPE (captures[1])) || TYPE_UNSIGNED (TREE_TYPE (captures[2])))
    2960              : )
    2961              :     {
    2962            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail982;
    2963            0 :       {
    2964            0 :         tree res_op0;
    2965            0 :         res_op0 = captures[0];
    2966            0 :         tree res_op1;
    2967            0 :         res_op1 = captures[2];
    2968            0 :         tree _r;
    2969            0 :         _r = maybe_build_call_expr_loc (loc, ovf, type, 2, res_op0, res_op1);
    2970            0 :         if (!_r)
    2971            0 :           goto next_after_fail982;
    2972            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 774, __FILE__, __LINE__, true);
    2973            0 :         return _r;
    2974              :       }
    2975              : next_after_fail982:;
    2976              :     }
    2977              :   return NULL_TREE;
    2978              : }
    2979              : 
    2980              : tree
    2981            0 : generic_simplify_579 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2982              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2983              :  const combined_fn ARG_UNUSED (fns))
    2984              : {
    2985            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2986            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail990;
    2987            0 :   {
    2988            0 :     tree _r;
    2989            0 :     _r = captures[0];
    2990            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 782, __FILE__, __LINE__, true);
    2991              :     return _r;
    2992              :   }
    2993            0 : next_after_fail990:;
    2994            0 :   return NULL_TREE;
    2995              : }
    2996              : 
    2997              : tree
    2998            0 : generic_simplify_584 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2999              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    3000              : {
    3001            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3002            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail995;
    3003            0 :   {
    3004            0 :     tree _r;
    3005            0 :     _r = captures[0];
    3006            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    3007            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3008            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 787, __FILE__, __LINE__, true);
    3009              :     return _r;
    3010              :   }
    3011            0 : next_after_fail995:;
    3012            0 :   return NULL_TREE;
    3013              : }
    3014              : 
    3015              : tree
    3016            0 : generic_simplify_591 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3017              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3018              :  const combined_fn ARG_UNUSED (rints))
    3019              : {
    3020            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3021            0 :   if (canonicalize_math_p ()
    3022              : )
    3023              :     {
    3024            0 :       if (!flag_errno_math
    3025              : )
    3026              :         {
    3027            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1002;
    3028            0 :           {
    3029            0 :             tree res_op0;
    3030            0 :             res_op0 = captures[0];
    3031            0 :             tree _r;
    3032            0 :             _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3033            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 794, __FILE__, __LINE__, true);
    3034            0 :             return _r;
    3035              :           }
    3036            0 : next_after_fail1002:;
    3037              :         }
    3038              :     }
    3039              :   return NULL_TREE;
    3040              : }
    3041              : 
    3042              : tree
    3043            0 : generic_simplify_598 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3044              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3045              : {
    3046            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3047            0 :   if (canonicalize_math_after_vectorization_p ()
    3048              : )
    3049              :     {
    3050              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1009;
    3051              :       {
    3052              :         tree res_op0;
    3053              :         res_op0 = captures[0];
    3054              :         tree res_op1;
    3055              :         res_op1 = captures[1];
    3056              :         tree res_op2;
    3057              :         res_op2 = captures[2];
    3058              :         tree _r;
    3059              :         _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
    3060              :         if (!_r)
    3061              :           goto next_after_fail1009;
    3062              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 801, __FILE__, __LINE__, true);
    3063              :         return _r;
    3064              :       }
    3065            0 : next_after_fail1009:;
    3066              :     }
    3067            0 :   return NULL_TREE;
    3068              : }
    3069              : 
    3070              : tree
    3071            0 : generic_simplify_607 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3072              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
    3073              : {
    3074            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3075            0 :   if (canonicalize_math_after_vectorization_p ()
    3076              : )
    3077              :     {
    3078              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1018;
    3079              :       {
    3080              :         tree res_op0;
    3081              :         res_op0 = captures[0];
    3082              :         tree res_op1;
    3083              :         res_op1 = captures[1];
    3084              :         tree res_op2;
    3085              :         res_op2 = captures[2];
    3086              :         tree res_op3;
    3087              :         res_op3 = captures[3];
    3088              :         tree res_op4;
    3089              :         res_op4 = captures[4];
    3090              :         tree _r;
    3091              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3092              :         if (!_r)
    3093              :           goto next_after_fail1018;
    3094              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 810, __FILE__, __LINE__, true);
    3095              :         return _r;
    3096              :       }
    3097            0 : next_after_fail1018:;
    3098              :     }
    3099            0 :   return NULL_TREE;
    3100              : }
    3101              : 
    3102              : tree
    3103            0 : generic_simplify_616 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3104              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3105              :  const combined_fn ARG_UNUSED (bswap),
    3106              :  const combined_fn ARG_UNUSED (popcount))
    3107              : {
    3108            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3109            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3110            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3111              : )
    3112              :     {
    3113            0 :       {
    3114            0 :  tree type0 = TREE_TYPE (captures[0]);
    3115            0 :  tree type1 = TREE_TYPE (captures[1]);
    3116            0 :  unsigned int prec0 = TYPE_PRECISION (type0);
    3117            0 :  unsigned int prec1 = TYPE_PRECISION (type1);
    3118            0 :           if (prec0 == prec1 || (prec0 > prec1 && TYPE_UNSIGNED (type1))
    3119              : )
    3120              :             {
    3121            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1027;
    3122            0 :               {
    3123            0 :                 tree res_op0;
    3124            0 :                 {
    3125            0 :                   tree _o1[1], _r1;
    3126            0 :                   {
    3127            0 :                     tree _o2[1], _r2;
    3128            0 :                     _o2[0] = captures[2];
    3129            0 :                     if (TREE_TYPE (_o2[0]) != type1)
    3130              :                       {
    3131            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3132              :                       }
    3133              :                     else
    3134              :                       _r2 = _o2[0];
    3135            0 :                     _o1[0] = _r2;
    3136              :                   }
    3137            0 :                   if (TREE_TYPE (_o1[0]) != type0)
    3138              :                     {
    3139            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3140              :                     }
    3141              :                   else
    3142              :                     _r1 = _o1[0];
    3143            0 :                   res_op0 = _r1;
    3144              :                 }
    3145            0 :                 tree _r;
    3146            0 :                 _r = maybe_build_call_expr_loc (loc, popcount, type, 1, res_op0);
    3147            0 :                 if (!_r)
    3148            0 :                   goto next_after_fail1027;
    3149            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 816, __FILE__, __LINE__, true);
    3150            0 :                 return _r;
    3151              :               }
    3152              : next_after_fail1027:;
    3153              :             }
    3154              :       }
    3155              :     }
    3156              :   return NULL_TREE;
    3157              : }
    3158              : 
    3159              : tree
    3160            0 : generic_simplify_629 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3161              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3162              :  const enum tree_code ARG_UNUSED (plusminus),
    3163              :  const enum tree_code ARG_UNUSED (minusplus))
    3164              : {
    3165            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3166            0 :   if (!VECTOR_INTEGER_TYPE_P (type)
    3167              :  && !FLOAT_WORDS_BIG_ENDIAN
    3168            0 :  && (operand_equal_p (captures[0], captures[2], 0)
    3169            0 :  ? operand_equal_p (captures[1], captures[3], 0)
    3170            0 :  : operand_equal_p (captures[0], captures[3], 0) && operand_equal_p (captures[1], captures[2], 0))
    3171              : )
    3172              :     {
    3173            0 :       {
    3174            0 :  vec_perm_builder builder;
    3175            0 :           if (tree_to_vec_perm_builder (&builder, captures[4])
    3176              : )
    3177              :             {
    3178            0 :               {
    3179            0 :  poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (type);
    3180            0 :  vec_perm_indices sel (builder, 2, nelts);
    3181            0 :  machine_mode vec_mode = TYPE_MODE (type);
    3182            0 :  machine_mode wide_mode;
    3183            0 :  scalar_mode wide_elt_mode;
    3184            0 :  poly_uint64 wide_nunits;
    3185            0 :  scalar_mode inner_mode = GET_MODE_INNER (vec_mode);
    3186            0 :                   if (VECTOR_MODE_P (vec_mode)
    3187            0 :  && sel.series_p (0, 2, 0, 2)
    3188            0 :  && sel.series_p (1, 2, nelts + 1, 2)
    3189            0 :  && GET_MODE_2XWIDER_MODE (inner_mode).exists (&wide_elt_mode)
    3190            0 :  && multiple_p (GET_MODE_NUNITS (vec_mode), 2, &wide_nunits)
    3191            0 :  && related_vector_mode (vec_mode, wide_elt_mode,
    3192            0 :  wide_nunits).exists (&wide_mode)
    3193              : )
    3194              :                     {
    3195            0 :                       {
    3196            0 :  tree stype
    3197            0 :  = lang_hooks.types.type_for_mode (GET_MODE_INNER (wide_mode),
    3198            0 :  TYPE_UNSIGNED (type));
    3199            0 :  tree ntype = build_vector_type_for_mode (stype, wide_mode);
    3200            0 :  const struct real_format *fmt_old = FLOAT_MODE_FORMAT (vec_mode);
    3201            0 :  const struct real_format *fmt_new = FLOAT_MODE_FORMAT (wide_mode);
    3202            0 :                           if (TYPE_MODE (stype) != BLKmode
    3203            0 :  && VECTOR_TYPE_P (ntype)
    3204            0 :  && fmt_old != NULL
    3205            0 :  && fmt_new != NULL
    3206              : )
    3207              :                             {
    3208            0 :                               {
    3209            0 :  if (known_eq (GET_MODE_NUNITS (wide_mode), 1)
    3210            0 :  && !target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
    3211              :  ntype = stype;
    3212            0 :                                   if (fmt_new->signbit_rw
    3213            0 :  == fmt_old->signbit_rw + GET_MODE_UNIT_BITSIZE (vec_mode)
    3214            0 :  && fmt_new->signbit_rw == fmt_new->signbit_ro
    3215            0 :  && targetm.can_change_mode_class (TYPE_MODE (ntype),
    3216            0 :  TYPE_MODE (type), ALL_REGS)
    3217            0 :  && ((optimize_vectors_before_lowering_p ()
    3218            0 :  && VECTOR_TYPE_P (ntype))
    3219            0 :  || target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
    3220              : )
    3221              :                                     {
    3222            0 :                                       if (plusminus == PLUS_EXPR
    3223              : )
    3224              :                                         {
    3225            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1041;
    3226            0 :                                           {
    3227            0 :                                             tree res_op0;
    3228            0 :                                             {
    3229            0 :                                               tree _o1[1], _r1;
    3230            0 :                                               {
    3231            0 :                                                 tree _o2[1], _r2;
    3232            0 :                                                 {
    3233            0 :                                                   tree _o3[1], _r3;
    3234            0 :                                                   _o3[0] = captures[3];
    3235            0 :                                                   if (TREE_TYPE (_o3[0]) != ntype)
    3236              :                                                     {
    3237            0 :                                                       _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o3[0]);
    3238              :                                                     }
    3239              :                                                   else
    3240              :                                                     _r3 = _o3[0];
    3241            0 :                                                   _o2[0] = _r3;
    3242              :                                                 }
    3243            0 :                                                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3244            0 :                                                 _o1[0] = _r2;
    3245              :                                               }
    3246            0 :                                               if (TREE_TYPE (_o1[0]) != type)
    3247              :                                                 {
    3248            0 :                                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3249              :                                                 }
    3250              :                                               else
    3251              :                                                 _r1 = _o1[0];
    3252            0 :                                               res_op0 = _r1;
    3253              :                                             }
    3254            0 :                                             tree res_op1;
    3255            0 :                                             res_op1 = captures[2];
    3256            0 :                                             tree _r;
    3257            0 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3258            0 :                                             if (TREE_SIDE_EFFECTS (captures[0]))
    3259            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3260            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    3261            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    3262            0 :                                             if (TREE_SIDE_EFFECTS (captures[4]))
    3263            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3264            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 826, __FILE__, __LINE__, true);
    3265            0 :                                             return _r;
    3266              :                                           }
    3267            0 : next_after_fail1041:;
    3268              :                                         }
    3269              :                                       else
    3270              :                                         {
    3271            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1042;
    3272            0 :                                           {
    3273            0 :                                             tree res_op0;
    3274            0 :                                             res_op0 = captures[0];
    3275            0 :                                             tree res_op1;
    3276            0 :                                             {
    3277            0 :                                               tree _o1[1], _r1;
    3278            0 :                                               {
    3279            0 :                                                 tree _o2[1], _r2;
    3280            0 :                                                 {
    3281            0 :                                                   tree _o3[1], _r3;
    3282            0 :                                                   _o3[0] = captures[1];
    3283            0 :                                                   if (TREE_TYPE (_o3[0]) != ntype)
    3284              :                                                     {
    3285            0 :                                                       _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o3[0]);
    3286              :                                                     }
    3287              :                                                   else
    3288              :                                                     _r3 = _o3[0];
    3289            0 :                                                   _o2[0] = _r3;
    3290              :                                                 }
    3291            0 :                                                 _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3292            0 :                                                 _o1[0] = _r2;
    3293              :                                               }
    3294            0 :                                               if (TREE_TYPE (_o1[0]) != type)
    3295              :                                                 {
    3296            0 :                                                   _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    3297              :                                                 }
    3298              :                                               else
    3299              :                                                 _r1 = _o1[0];
    3300            0 :                                               res_op1 = _r1;
    3301              :                                             }
    3302            0 :                                             tree _r;
    3303            0 :                                             _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3304            0 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    3305            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3306            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
    3307            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3308            0 :                                             if (TREE_SIDE_EFFECTS (captures[4]))
    3309            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    3310            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 827, __FILE__, __LINE__, true);
    3311            0 :                                             return _r;
    3312              :                                           }
    3313            0 : next_after_fail1042:;
    3314              :                                         }
    3315              :                                     }
    3316              :                               }
    3317              :                             }
    3318              :                       }
    3319              :                     }
    3320            0 :               }
    3321              :             }
    3322            0 :       }
    3323              :     }
    3324              :   return NULL_TREE;
    3325              : }
    3326              : 
    3327              : tree
    3328         1330 : generic_simplify_CONJ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3329              : {
    3330         1330 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3331         1330 :   switch (TREE_CODE (_p0))
    3332              :     {
    3333            0 :     CASE_CONVERT:
    3334            0 :       {
    3335            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3336            0 :         switch (TREE_CODE (_q20))
    3337              :           {
    3338            0 :           case CONJ_EXPR:
    3339            0 :             {
    3340            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3341            0 :               {
    3342            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3343            0 :                 tree res = generic_simplify_563 (loc, type, _p0, captures);
    3344            0 :                 if (res) return res;
    3345              :               }
    3346            0 :               break;
    3347              :             }
    3348            0 :           case COMPLEX_EXPR:
    3349            0 :             {
    3350            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3351            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3352            0 :               {
    3353            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    3354            0 :                 {
    3355            0 :  tree itype = TREE_TYPE (type);
    3356            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1165;
    3357            0 :                     {
    3358            0 :                       tree res_op0;
    3359            0 :                       {
    3360            0 :                         tree _o1[1], _r1;
    3361            0 :                         _o1[0] = captures[2];
    3362            0 :                         if (TREE_TYPE (_o1[0]) != itype)
    3363              :                           {
    3364            0 :                             _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    3365              :                           }
    3366              :                         else
    3367              :                           _r1 = _o1[0];
    3368            0 :                         res_op0 = _r1;
    3369              :                       }
    3370            0 :                       tree res_op1;
    3371            0 :                       {
    3372            0 :                         tree _o1[1], _r1;
    3373            0 :                         {
    3374            0 :                           tree _o2[1], _r2;
    3375            0 :                           _o2[0] = captures[3];
    3376            0 :                           if (TREE_TYPE (_o2[0]) != itype)
    3377              :                             {
    3378            0 :                               _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    3379              :                             }
    3380              :                           else
    3381              :                             _r2 = _o2[0];
    3382            0 :                           _o1[0] = _r2;
    3383              :                         }
    3384            0 :                         _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3385            0 :                         res_op1 = _r1;
    3386              :                       }
    3387            0 :                       tree _r;
    3388            0 :                       _r = fold_build2_loc (loc, COMPLEX_EXPR, type, res_op0, res_op1);
    3389            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    3390            0 :                       return _r;
    3391              :                     }
    3392            0 : next_after_fail1165:;
    3393              :                 }
    3394              :               }
    3395            0 :               break;
    3396              :             }
    3397              :           default:;
    3398              :           }
    3399              :         break;
    3400              :       }
    3401            1 :     case CONJ_EXPR:
    3402            1 :       {
    3403            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3404            1 :         {
    3405            1 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3406            1 :           tree res = generic_simplify_563 (loc, type, _p0, captures);
    3407            1 :           if (res) return res;
    3408              :         }
    3409            0 :         break;
    3410              :       }
    3411           12 :     case COMPLEX_EXPR:
    3412           12 :       {
    3413           12 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3414           12 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3415           12 :         {
    3416           12 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    3417           12 :           {
    3418           12 :  tree itype = TREE_TYPE (type);
    3419           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1166;
    3420           12 :               {
    3421           12 :                 tree res_op0;
    3422           12 :                 {
    3423           12 :                   tree _o1[1], _r1;
    3424           12 :                   _o1[0] = captures[2];
    3425           12 :                   if (TREE_TYPE (_o1[0]) != itype)
    3426              :                     {
    3427            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, itype, _o1[0]);
    3428              :                     }
    3429              :                   else
    3430              :                     _r1 = _o1[0];
    3431           12 :                   res_op0 = _r1;
    3432              :                 }
    3433           12 :                 tree res_op1;
    3434           12 :                 {
    3435           12 :                   tree _o1[1], _r1;
    3436           12 :                   {
    3437           12 :                     tree _o2[1], _r2;
    3438           12 :                     _o2[0] = captures[3];
    3439           12 :                     if (TREE_TYPE (_o2[0]) != itype)
    3440              :                       {
    3441            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, itype, _o2[0]);
    3442              :                       }
    3443              :                     else
    3444              :                       _r2 = _o2[0];
    3445           12 :                     _o1[0] = _r2;
    3446              :                   }
    3447           12 :                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3448           12 :                   res_op1 = _r1;
    3449              :                 }
    3450           12 :                 tree _r;
    3451           12 :                 _r = fold_build2_loc (loc, COMPLEX_EXPR, type, res_op0, res_op1);
    3452           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
    3453           12 :                 return _r;
    3454              :               }
    3455            0 : next_after_fail1166:;
    3456              :           }
    3457              :         }
    3458            0 :         break;
    3459              :       }
    3460              :     default:;
    3461              :     }
    3462              :   return NULL_TREE;
    3463              : }
    3464              : 
    3465              : tree
    3466     98875193 : generic_simplify_PLUS_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    3467              : {
    3468     98875193 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3469     98875193 :   if (integer_zerop (_p1))
    3470              :     {
    3471     27905086 :       {
    3472     27905086 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3473     27905086 :         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1246;
    3474     27905086 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1246;
    3475     27905086 :         {
    3476     27905086 :           tree res_op0;
    3477     27905086 :           res_op0 = captures[0];
    3478     27905086 :           tree _r;
    3479     27905086 :           _r = non_lvalue_loc (loc, res_op0);
    3480     27905086 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 891, __FILE__, __LINE__, true);
    3481     27905086 :           return _r;
    3482              :         }
    3483              : next_after_fail1246:;
    3484              :       }
    3485              :     }
    3486     70970107 :   if (real_zerop (_p1))
    3487              :     {
    3488         5339 :       {
    3489         5339 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    3490         5339 :         tree res = generic_simplify_54 (loc, type, _p0, _p1, captures);
    3491         5339 :         if (res) return res;
    3492              :       }
    3493              :     }
    3494     70970012 :   switch (TREE_CODE (_p0))
    3495              :     {
    3496      6516221 :     case PLUS_EXPR:
    3497      6516221 :       {
    3498      6516221 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3499      6516221 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3500      6516221 :         switch (TREE_CODE (_q21))
    3501              :           {
    3502       119607 :           case REAL_CST:
    3503       119607 :             {
    3504       119607 :               switch (TREE_CODE (_p1))
    3505              :                 {
    3506           70 :                 case REAL_CST:
    3507           70 :                   {
    3508           70 :                     {
    3509           70 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3510           70 :                       tree res = generic_simplify_55 (loc, type, _p0, _p1, captures, PLUS_EXPR, PLUS_EXPR);
    3511           70 :                       if (res) return res;
    3512              :                     }
    3513           67 :                     break;
    3514              :                   }
    3515              :                 default:;
    3516              :                 }
    3517              :               break;
    3518              :             }
    3519              :           default:;
    3520              :           }
    3521              :         break;
    3522              :       }
    3523      2067950 :     case MINUS_EXPR:
    3524      2067950 :       {
    3525      2067950 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3526      2067950 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3527      2067950 :         switch (TREE_CODE (_q21))
    3528              :           {
    3529        22540 :           case REAL_CST:
    3530        22540 :             {
    3531        22540 :               switch (TREE_CODE (_p1))
    3532              :                 {
    3533          190 :                 case REAL_CST:
    3534          190 :                   {
    3535          190 :                     {
    3536          190 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    3537          190 :                       tree res = generic_simplify_55 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR);
    3538          190 :                       if (res) return res;
    3539              :                     }
    3540          188 :                     break;
    3541              :                   }
    3542              :                 default:;
    3543              :                 }
    3544              :               break;
    3545              :             }
    3546              :           default:;
    3547              :           }
    3548              :         break;
    3549              :       }
    3550        12210 :     case MAX_EXPR:
    3551        12210 :       {
    3552        12210 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3553        12210 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3554        12210 :         if (integer_zerop (_q21))
    3555              :           {
    3556         4609 :             switch (TREE_CODE (_p1))
    3557              :               {
    3558          114 :               case MAX_EXPR:
    3559          114 :                 {
    3560          114 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    3561          114 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    3562          114 :                   switch (TREE_CODE (_q50))
    3563              :                     {
    3564           48 :                     case NEGATE_EXPR:
    3565           48 :                       {
    3566           48 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    3567           48 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    3568              :                           {
    3569           48 :                             if (integer_zerop (_q51))
    3570              :                               {
    3571           48 :                                 {
    3572           48 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3573           48 :                                   tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
    3574           48 :                                   if (res) return res;
    3575              :                                 }
    3576              :                               }
    3577              :                           }
    3578              :                         break;
    3579              :                       }
    3580              :                     default:;
    3581              :                     }
    3582              :                   break;
    3583              :                 }
    3584              :               default:;
    3585              :               }
    3586              :           }
    3587        12162 :         switch (TREE_CODE (_q20))
    3588              :           {
    3589           18 :           case NEGATE_EXPR:
    3590           18 :             {
    3591           18 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3592           18 :               if (integer_zerop (_q21))
    3593              :                 {
    3594           18 :                   switch (TREE_CODE (_p1))
    3595              :                     {
    3596           18 :                     case MAX_EXPR:
    3597           18 :                       {
    3598           18 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    3599           18 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    3600           18 :                         if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    3601              :                           {
    3602           18 :                             if (integer_zerop (_q61))
    3603              :                               {
    3604           18 :                                 {
    3605           18 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3606           18 :                                   tree res = generic_simplify_56 (loc, type, _p0, _p1, captures);
    3607           18 :                                   if (res) return res;
    3608              :                                 }
    3609              :                               }
    3610              :                           }
    3611              :                         break;
    3612              :                       }
    3613              :                     default:;
    3614              :                     }
    3615              :                 }
    3616              :               break;
    3617              :             }
    3618              :           default:;
    3619              :           }
    3620              :         break;
    3621              :       }
    3622     13447046 :     case MULT_EXPR:
    3623     13447046 :       {
    3624     13447046 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3625     13447046 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3626     13447046 :         switch (TREE_CODE (_q20))
    3627              :           {
    3628      1936412 :           case PLUS_EXPR:
    3629      1936412 :             {
    3630      1936412 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3631      1936412 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3632      1936412 :               switch (TREE_CODE (_q31))
    3633              :                 {
    3634       525649 :                 case INTEGER_CST:
    3635       525649 :                   {
    3636       525649 :                     switch (TREE_CODE (_q21))
    3637              :                       {
    3638       192664 :                       case INTEGER_CST:
    3639       192664 :                         {
    3640       192664 :                           switch (TREE_CODE (_p1))
    3641              :                             {
    3642       126998 :                             case INTEGER_CST:
    3643       126998 :                               {
    3644       126998 :                                 {
    3645       126998 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    3646       126998 :                                   {
    3647       126998 :  bool overflowed = true;
    3648       126998 :  wi::overflow_type ovf1;
    3649       126998 :  wi::overflow_type ovf2;
    3650       126998 :  wide_int mul = wi::mul (wi::to_wide (captures[3]), wi::to_wide (captures[4]),
    3651       253996 :  TYPE_SIGN (type), &ovf1);
    3652       380994 :  wide_int add = wi::add (mul, wi::to_wide (captures[5]),
    3653       126998 :  TYPE_SIGN (type), &ovf2);
    3654       126998 :  if (TYPE_OVERFLOW_UNDEFINED (type))
    3655              :  {
    3656              :  }
    3657              :  else
    3658        66212 :  overflowed = false;
    3659        66212 :                                       if (!overflowed
    3660              : )
    3661              :                                         {
    3662        66212 :                                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1247;
    3663        66212 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1247;
    3664        66212 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail1247;
    3665        66212 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1247;
    3666        66212 :                                           {
    3667        66212 :                                             tree res_op0;
    3668        66212 :                                             {
    3669        66212 :                                               tree _o1[2], _r1;
    3670        66212 :                                               _o1[0] = captures[2];
    3671        66212 :                                               _o1[1] = captures[4];
    3672        66212 :                                               _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3673        66212 :                                               res_op0 = _r1;
    3674              :                                             }
    3675        66212 :                                             tree res_op1;
    3676        66212 :                                             res_op1 =  wide_int_to_tree (type, add);
    3677        66212 :                                             tree _r;
    3678        66212 :                                             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3679        66212 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 903, __FILE__, __LINE__, true);
    3680        66212 :                                             return _r;
    3681              :                                           }
    3682        60786 : next_after_fail1247:;
    3683              :                                         }
    3684       126998 :                                   }
    3685              :                                 }
    3686        60786 :                                 break;
    3687              :                               }
    3688              :                             default:;
    3689              :                             }
    3690              :                           break;
    3691              :                         }
    3692              :                       default:;
    3693              :                       }
    3694              :                     break;
    3695              :                   }
    3696              :                 default:;
    3697              :                 }
    3698              :               break;
    3699              :             }
    3700              :           default:;
    3701              :           }
    3702              :         break;
    3703              :       }
    3704        26205 :     case LSHIFT_EXPR:
    3705        26205 :       {
    3706        26205 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3707        26205 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3708        26205 :         switch (TREE_CODE (_p1))
    3709              :           {
    3710          688 :           case LSHIFT_EXPR:
    3711          688 :             {
    3712          688 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3713          688 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3714          688 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3715              :                 {
    3716            7 :                   {
    3717            7 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    3718            7 :                     tree res = generic_simplify_57 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3719            7 :                     if (res) return res;
    3720              :                   }
    3721              :                 }
    3722              :               break;
    3723              :             }
    3724              :           default:;
    3725              :           }
    3726              :         break;
    3727              :       }
    3728       217136 :     case BIT_AND_EXPR:
    3729       217136 :       {
    3730       217136 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3731       217136 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3732       217136 :         switch (TREE_CODE (_p1))
    3733              :           {
    3734          300 :           case BIT_AND_EXPR:
    3735          300 :             {
    3736          300 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3737          300 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3738          300 :               {
    3739          300 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    3740          300 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3741          300 :                 if (res) return res;
    3742              :               }
    3743          300 :               {
    3744          300 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
    3745          300 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3746          300 :                 if (res) return res;
    3747              :               }
    3748          300 :               {
    3749          300 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
    3750          300 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3751          300 :                 if (res) return res;
    3752              :               }
    3753          300 :               {
    3754          300 :                 tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
    3755          300 :                 tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3756          300 :                 if (res) return res;
    3757              :               }
    3758          300 :               break;
    3759              :             }
    3760       217136 :           default:;
    3761              :           }
    3762       217136 :         if (integer_onep (_q21))
    3763              :           {
    3764       130026 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    3765              :               {
    3766           29 :                 {
    3767           29 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    3768           29 :                   tree res = generic_simplify_58 (loc, type, _p0, _p1, captures);
    3769           29 :                   if (res) return res;
    3770              :                 }
    3771              :               }
    3772              :           }
    3773              :         break;
    3774              :       }
    3775     70903693 :     default:;
    3776              :     }
    3777     70903693 : if (real_zerop (_p0))
    3778              :   {
    3779            0 :     {
    3780            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    3781            0 :       tree res = generic_simplify_54 (loc, type, _p0, _p1, captures);
    3782            0 :       if (res) return res;
    3783              :     }
    3784              :   }
    3785     70903693 :   switch (TREE_CODE (_p1))
    3786              :     {
    3787         5579 :     case BIT_AND_EXPR:
    3788         5579 :       {
    3789         5579 :         tree _q30 = TREE_OPERAND (_p1, 0);
    3790         5579 :         tree _q31 = TREE_OPERAND (_p1, 1);
    3791         5579 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    3792              :           {
    3793           16 :             if (integer_onep (_q31))
    3794              :               {
    3795           16 :                 {
    3796           16 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    3797           16 :                   tree res = generic_simplify_58 (loc, type, _p0, _p1, captures);
    3798           16 :                   if (res) return res;
    3799              :                 }
    3800              :               }
    3801              :           }
    3802              :         break;
    3803              :       }
    3804     70903677 :     default:;
    3805              :     }
    3806     70903677 :   switch (TREE_CODE (_p0))
    3807              :     {
    3808       217107 :     case BIT_AND_EXPR:
    3809       217107 :       {
    3810       217107 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3811       217107 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3812       217107 :         switch (TREE_CODE (_p1))
    3813              :           {
    3814            9 :           case BIT_XOR_EXPR:
    3815            9 :             {
    3816            9 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3817            9 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3818            9 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3819              :                 {
    3820            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3821              :                     {
    3822            0 :                       {
    3823            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3824            0 :                         tree res = generic_simplify_23 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3825            0 :                         if (res) return res;
    3826              :                       }
    3827              :                     }
    3828              :                 }
    3829              :               break;
    3830              :             }
    3831            1 :           case BIT_IOR_EXPR:
    3832            1 :             {
    3833            1 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3834            1 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3835            1 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3836              :                 {
    3837            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3838              :                     {
    3839            0 :                       {
    3840            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3841            0 :                         tree res = generic_simplify_59 (loc, type, _p0, _p1, captures);
    3842            0 :                         if (res) return res;
    3843              :                       }
    3844              :                     }
    3845              :                 }
    3846              :               break;
    3847              :             }
    3848       217107 :           default:;
    3849              :           }
    3850       217107 :         switch (TREE_CODE (_q21))
    3851              :           {
    3852       216803 :           case INTEGER_CST:
    3853       216803 :             {
    3854       216803 :               switch (TREE_CODE (_p1))
    3855              :                 {
    3856        14704 :                 CASE_CONVERT:
    3857        14704 :                   {
    3858        14704 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    3859        14704 :                     switch (TREE_CODE (_q50))
    3860              :                       {
    3861            0 :                       case BIT_AND_EXPR:
    3862            0 :                         {
    3863            0 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    3864            0 :                           tree _q61 = TREE_OPERAND (_q50, 1);
    3865            0 :                           switch (TREE_CODE (_q61))
    3866              :                             {
    3867            0 :                             case INTEGER_CST:
    3868            0 :                               {
    3869            0 :                                 {
    3870            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
    3871            0 :                                   tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3872            0 :                                   if (res) return res;
    3873              :                                 }
    3874            0 :                                 break;
    3875              :                               }
    3876              :                             default:;
    3877              :                             }
    3878              :                           break;
    3879              :                         }
    3880              :                       default:;
    3881              :                       }
    3882              :                     break;
    3883              :                   }
    3884          300 :                 case BIT_AND_EXPR:
    3885          300 :                   {
    3886          300 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    3887          300 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    3888          300 :                     switch (TREE_CODE (_q51))
    3889              :                       {
    3890          300 :                       case INTEGER_CST:
    3891          300 :                         {
    3892          300 :                           {
    3893          300 :                             tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
    3894          300 :                             tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3895          300 :                             if (res) return res;
    3896              :                           }
    3897          200 :                           break;
    3898              :                         }
    3899              :                       default:;
    3900              :                       }
    3901              :                     break;
    3902              :                   }
    3903              :                 default:;
    3904              :                 }
    3905              :               break;
    3906              :             }
    3907              :           default:;
    3908              :           }
    3909              :         break;
    3910              :       }
    3911         1511 :     case BIT_XOR_EXPR:
    3912         1511 :       {
    3913         1511 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3914         1511 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3915         1511 :         switch (TREE_CODE (_p1))
    3916              :           {
    3917            0 :           case BIT_AND_EXPR:
    3918            0 :             {
    3919            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3920            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3921            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3922              :                 {
    3923            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3924              :                     {
    3925            0 :                       {
    3926            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3927            0 :                         tree res = generic_simplify_23 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    3928            0 :                         if (res) return res;
    3929              :                       }
    3930              :                     }
    3931              :                 }
    3932              :               break;
    3933              :             }
    3934              :           default:;
    3935              :           }
    3936              :         break;
    3937              :       }
    3938          554 :     case BIT_IOR_EXPR:
    3939          554 :       {
    3940          554 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3941          554 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3942          554 :         switch (TREE_CODE (_p1))
    3943              :           {
    3944            0 :           case BIT_AND_EXPR:
    3945            0 :             {
    3946            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    3947            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    3948            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    3949              :                 {
    3950            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    3951              :                     {
    3952            0 :                       {
    3953            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3954            0 :                         tree res = generic_simplify_59 (loc, type, _p0, _p1, captures);
    3955            0 :                         if (res) return res;
    3956              :                       }
    3957              :                     }
    3958              :                 }
    3959              :               break;
    3960              :             }
    3961              :           default:;
    3962              :           }
    3963              :         break;
    3964              :       }
    3965      2067948 :     case MINUS_EXPR:
    3966      2067948 :       {
    3967      2067948 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3968      2067948 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3969      2067948 :         switch (TREE_CODE (_q20))
    3970              :           {
    3971            2 :           case BIT_AND_EXPR:
    3972            2 :             {
    3973            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3974            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3975            2 :               switch (TREE_CODE (_q21))
    3976              :                 {
    3977            1 :                 case BIT_IOR_EXPR:
    3978            1 :                   {
    3979            1 :                     tree _q60 = TREE_OPERAND (_q21, 0);
    3980            1 :                     tree _q61 = TREE_OPERAND (_q21, 1);
    3981            1 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    3982              :                       {
    3983            1 :                         if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
    3984              :                           {
    3985            1 :                             if (integer_all_onesp (_p1))
    3986              :                               {
    3987            1 :                                 {
    3988            1 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
    3989            1 :                                   tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    3990            1 :                                   if (res) return res;
    3991              :                                 }
    3992              :                               }
    3993              :                           }
    3994              :                       }
    3995            0 :                     if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    3996              :                       {
    3997            0 :                         if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    3998              :                           {
    3999            0 :                             if (integer_all_onesp (_p1))
    4000              :                               {
    4001            0 :                                 {
    4002            0 :                                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
    4003            0 :                                   tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4004            0 :                                   if (res) return res;
    4005              :                                 }
    4006              :                               }
    4007              :                           }
    4008              :                       }
    4009              :                     break;
    4010              :                   }
    4011              :                 default:;
    4012              :                 }
    4013              :               break;
    4014              :             }
    4015      2067947 :           default:;
    4016              :           }
    4017      2067947 :       {
    4018      2067947 :         tree _q20_pops[1];
    4019      2067947 :         if (tree_nop_convert (_q20, _q20_pops))
    4020              :           {
    4021       921891 :             tree _q30 = _q20_pops[0];
    4022       921891 :             switch (TREE_CODE (_q30))
    4023              :               {
    4024            0 :               case BIT_AND_EXPR:
    4025            0 :                 {
    4026            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4027            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    4028            0 :                   {
    4029            0 :                     tree _q21_pops[1];
    4030            0 :                     if (tree_nop_convert (_q21, _q21_pops))
    4031              :                       {
    4032            0 :                         tree _q70 = _q21_pops[0];
    4033            0 :                         switch (TREE_CODE (_q70))
    4034              :                           {
    4035            0 :                           case BIT_IOR_EXPR:
    4036            0 :                             {
    4037            0 :                               tree _q80 = TREE_OPERAND (_q70, 0);
    4038            0 :                               tree _q81 = TREE_OPERAND (_q70, 1);
    4039            0 :                               if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
    4040              :                                 {
    4041            0 :                                   if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
    4042              :                                     {
    4043            0 :                                       if (integer_all_onesp (_p1))
    4044              :                                         {
    4045            0 :                                           {
    4046            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
    4047            0 :                                             tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4048            0 :                                             if (res) return res;
    4049              :                                           }
    4050              :                                         }
    4051              :                                     }
    4052              :                                 }
    4053            0 :                               if ((_q80 == _q41 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q41, 0) && types_match (_q80, _q41)))
    4054              :                                 {
    4055            0 :                                   if ((_q81 == _q40 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q40, 0) && types_match (_q81, _q40)))
    4056              :                                     {
    4057            0 :                                       if (integer_all_onesp (_p1))
    4058              :                                         {
    4059            0 :                                           {
    4060            0 :                                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
    4061            0 :                                             tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    4062            0 :                                             if (res) return res;
    4063              :                                           }
    4064              :                                         }
    4065              :                                     }
    4066              :                                 }
    4067              :                               break;
    4068              :                             }
    4069              :                           default:;
    4070              :                           }
    4071              :                       }
    4072              :                   }
    4073            0 :                   break;
    4074              :                 }
    4075              :               default:;
    4076              :               }
    4077              :           }
    4078              :       }
    4079      2067947 :         {
    4080      2067947 :           tree _q21_pops[1];
    4081      2067947 :           if (tree_nop_convert (_q21, _q21_pops))
    4082              :             {
    4083      1156360 :               tree _q40 = _q21_pops[0];
    4084      1156360 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4085              :                 {
    4086           34 :                   {
    4087           34 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    4088           34 :                     tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    4089           34 :                     if (res) return res;
    4090              :                   }
    4091              :                 }
    4092              :             }
    4093              :         }
    4094      2067917 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4095              :           {
    4096        45333 :             {
    4097        45333 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4098        45333 :               tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    4099        45333 :               if (res) return res;
    4100              :             }
    4101              :           }
    4102              :         break;
    4103              :       }
    4104     19154167 :     CASE_CONVERT:
    4105     19154167 :       {
    4106     19154167 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4107     19154167 :         switch (TREE_CODE (_q20))
    4108              :           {
    4109           72 :           case BIT_AND_EXPR:
    4110           72 :             {
    4111           72 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4112           72 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4113           72 :               switch (TREE_CODE (_q31))
    4114              :                 {
    4115            8 :                 case INTEGER_CST:
    4116            8 :                   {
    4117            8 :                     switch (TREE_CODE (_p1))
    4118              :                       {
    4119            0 :                       CASE_CONVERT:
    4120            0 :                         {
    4121            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4122            0 :                           switch (TREE_CODE (_q60))
    4123              :                             {
    4124            0 :                             case BIT_AND_EXPR:
    4125            0 :                               {
    4126            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4127            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4128            0 :                                 switch (TREE_CODE (_q71))
    4129              :                                   {
    4130            0 :                                   case INTEGER_CST:
    4131            0 :                                     {
    4132            0 :                                       {
    4133            0 :                                         tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
    4134            0 :                                         tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4135            0 :                                         if (res) return res;
    4136              :                                       }
    4137            0 :                                       break;
    4138              :                                     }
    4139              :                                   default:;
    4140              :                                   }
    4141              :                                 break;
    4142              :                               }
    4143              :                             default:;
    4144              :                             }
    4145              :                           break;
    4146              :                         }
    4147            0 :                       case BIT_AND_EXPR:
    4148            0 :                         {
    4149            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4150            0 :                           tree _q61 = TREE_OPERAND (_p1, 1);
    4151            0 :                           switch (TREE_CODE (_q61))
    4152              :                             {
    4153            0 :                             case INTEGER_CST:
    4154            0 :                               {
    4155            0 :                                 {
    4156            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
    4157            0 :                                   tree res = generic_simplify_25 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    4158            0 :                                   if (res) return res;
    4159              :                                 }
    4160            0 :                                 break;
    4161              :                               }
    4162              :                             default:;
    4163              :                             }
    4164              :                           break;
    4165              :                         }
    4166              :                       default:;
    4167              :                       }
    4168              :                     break;
    4169              :                   }
    4170              :                 default:;
    4171              :                 }
    4172              :               break;
    4173              :             }
    4174         4907 :           case NEGATE_EXPR:
    4175         4907 :             {
    4176         4907 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4177         4907 :               {
    4178         4907 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q30 };
    4179         4907 :                 tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    4180         4907 :                 if (res) return res;
    4181              :               }
    4182         1769 :               break;
    4183              :             }
    4184              :           default:;
    4185              :           }
    4186              :         break;
    4187              :       }
    4188       120899 :     case COND_EXPR:
    4189       120899 :       {
    4190       120899 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4191       120899 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4192       120899 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4193       120899 :         if (integer_zerop (_q22))
    4194              :           {
    4195       110073 :             switch (TREE_CODE (_p1))
    4196              :               {
    4197           44 :               case COND_EXPR:
    4198           44 :                 {
    4199           44 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4200           44 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4201           44 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4202           44 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4203              :                     {
    4204            6 :                       if (integer_zerop (_q61))
    4205              :                         {
    4206            0 :                           {
    4207            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    4208            0 :                             const enum tree_code op = PLUS_EXPR;
    4209            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1248;
    4210            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1248;
    4211            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1248;
    4212            0 :                             {
    4213            0 :                               tree res_op0;
    4214            0 :                               res_op0 = captures[1];
    4215            0 :                               tree res_op1;
    4216            0 :                               res_op1 = captures[2];
    4217            0 :                               tree res_op2;
    4218            0 :                               res_op2 = captures[4];
    4219            0 :                               tree _r;
    4220            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4221            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    4222            0 :                               return _r;
    4223              :                             }
    4224            0 : next_after_fail1248:;
    4225              :                           }
    4226              :                         }
    4227              :                     }
    4228              :                   break;
    4229              :                 }
    4230              :               default:;
    4231              :               }
    4232              :           }
    4233       120899 :         if (integer_zerop (_q21))
    4234              :           {
    4235         1023 :             switch (TREE_CODE (_p1))
    4236              :               {
    4237            0 :               case COND_EXPR:
    4238            0 :                 {
    4239            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4240            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4241            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4242            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4243              :                     {
    4244            0 :                       if (integer_zerop (_q62))
    4245              :                         {
    4246            0 :                           {
    4247            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    4248            0 :                             const enum tree_code op = PLUS_EXPR;
    4249            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1249;
    4250            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1249;
    4251            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1249;
    4252            0 :                             {
    4253            0 :                               tree res_op0;
    4254            0 :                               res_op0 = captures[1];
    4255            0 :                               tree res_op1;
    4256            0 :                               res_op1 = captures[2];
    4257            0 :                               tree res_op2;
    4258            0 :                               res_op2 = captures[4];
    4259            0 :                               tree _r;
    4260            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4261            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    4262            0 :                               return _r;
    4263              :                             }
    4264            0 : next_after_fail1249:;
    4265              :                           }
    4266              :                         }
    4267              :                     }
    4268              :                   break;
    4269              :                 }
    4270              :               default:;
    4271              :               }
    4272              :           }
    4273       120899 :         switch (TREE_CODE (_q20))
    4274              :           {
    4275        29365 :           case LT_EXPR:
    4276        29365 :             {
    4277        29365 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4278        29365 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4279        29365 :               if (zerop (_q22))
    4280              :                 {
    4281        29299 :                   switch (TREE_CODE (_p1))
    4282              :                     {
    4283            0 :                     case COND_EXPR:
    4284            0 :                       {
    4285            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4286            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4287            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4288            0 :                         switch (TREE_CODE (_q80))
    4289              :                           {
    4290            0 :                           case GE_EXPR:
    4291            0 :                             {
    4292            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4293            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4294            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4295              :                                 {
    4296            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4297              :                                     {
    4298            0 :                                       if (zerop (_q82))
    4299              :                                         {
    4300            0 :                                           {
    4301            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4302            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR, GE_EXPR);
    4303            0 :                                             if (res) return res;
    4304              :                                           }
    4305              :                                         }
    4306              :                                     }
    4307              :                                 }
    4308              :                               break;
    4309              :                             }
    4310              :                           default:;
    4311              :                           }
    4312              :                         break;
    4313              :                       }
    4314              :                     default:;
    4315              :                     }
    4316              :                 }
    4317              :               break;
    4318              :             }
    4319        26667 :           case LE_EXPR:
    4320        26667 :             {
    4321        26667 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4322        26667 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4323        26667 :               if (zerop (_q22))
    4324              :                 {
    4325        26529 :                   switch (TREE_CODE (_p1))
    4326              :                     {
    4327            5 :                     case COND_EXPR:
    4328            5 :                       {
    4329            5 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4330            5 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4331            5 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4332            5 :                         switch (TREE_CODE (_q80))
    4333              :                           {
    4334            0 :                           case GT_EXPR:
    4335            0 :                             {
    4336            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4337            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4338            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4339              :                                 {
    4340            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4341              :                                     {
    4342            0 :                                       if (zerop (_q82))
    4343              :                                         {
    4344            0 :                                           {
    4345            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4346            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR, GT_EXPR);
    4347            0 :                                             if (res) return res;
    4348              :                                           }
    4349              :                                         }
    4350              :                                     }
    4351              :                                 }
    4352              :                               break;
    4353              :                             }
    4354              :                           default:;
    4355              :                           }
    4356              :                         break;
    4357              :                       }
    4358              :                     default:;
    4359              :                     }
    4360              :                 }
    4361              :               break;
    4362              :             }
    4363         1051 :           case EQ_EXPR:
    4364         1051 :             {
    4365         1051 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4366         1051 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4367         1051 :               if (zerop (_q22))
    4368              :                 {
    4369          570 :                   switch (TREE_CODE (_p1))
    4370              :                     {
    4371           32 :                     case COND_EXPR:
    4372           32 :                       {
    4373           32 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4374           32 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4375           32 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4376           32 :                         switch (TREE_CODE (_q80))
    4377              :                           {
    4378            0 :                           case NE_EXPR:
    4379            0 :                             {
    4380            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4381            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4382            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4383              :                                 {
    4384            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4385              :                                     {
    4386            0 :                                       if (zerop (_q82))
    4387              :                                         {
    4388            0 :                                           {
    4389            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4390            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR, NE_EXPR);
    4391            0 :                                             if (res) return res;
    4392              :                                           }
    4393              :                                         }
    4394              :                                     }
    4395              :                                 }
    4396              :                               break;
    4397              :                             }
    4398              :                           default:;
    4399              :                           }
    4400              :                         break;
    4401              :                       }
    4402              :                     default:;
    4403              :                     }
    4404              :                 }
    4405              :               break;
    4406              :             }
    4407         8068 :           case NE_EXPR:
    4408         8068 :             {
    4409         8068 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4410         8068 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4411         8068 :               if (zerop (_q22))
    4412              :                 {
    4413         5463 :                   switch (TREE_CODE (_p1))
    4414              :                     {
    4415            7 :                     case COND_EXPR:
    4416            7 :                       {
    4417            7 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4418            7 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4419            7 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4420            7 :                         switch (TREE_CODE (_q80))
    4421              :                           {
    4422            0 :                           case EQ_EXPR:
    4423            0 :                             {
    4424            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4425            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4426            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4427              :                                 {
    4428            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4429              :                                     {
    4430            0 :                                       if (zerop (_q82))
    4431              :                                         {
    4432            0 :                                           {
    4433            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4434            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR, EQ_EXPR);
    4435            0 :                                             if (res) return res;
    4436              :                                           }
    4437              :                                         }
    4438              :                                     }
    4439              :                                 }
    4440              :                               break;
    4441              :                             }
    4442              :                           default:;
    4443              :                           }
    4444              :                         break;
    4445              :                       }
    4446              :                     default:;
    4447              :                     }
    4448              :                 }
    4449              :               break;
    4450              :             }
    4451        18183 :           case GE_EXPR:
    4452        18183 :             {
    4453        18183 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4454        18183 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4455        18183 :               if (zerop (_q22))
    4456              :                 {
    4457        16863 :                   switch (TREE_CODE (_p1))
    4458              :                     {
    4459            0 :                     case COND_EXPR:
    4460            0 :                       {
    4461            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4462            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4463            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4464            0 :                         switch (TREE_CODE (_q80))
    4465              :                           {
    4466            0 :                           case LT_EXPR:
    4467            0 :                             {
    4468            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4469            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4470            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4471              :                                 {
    4472            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4473              :                                     {
    4474            0 :                                       if (zerop (_q82))
    4475              :                                         {
    4476            0 :                                           {
    4477            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4478            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR, LT_EXPR);
    4479            0 :                                             if (res) return res;
    4480              :                                           }
    4481              :                                         }
    4482              :                                     }
    4483              :                                 }
    4484              :                               break;
    4485              :                             }
    4486              :                           default:;
    4487              :                           }
    4488              :                         break;
    4489              :                       }
    4490              :                     default:;
    4491              :                     }
    4492              :                 }
    4493              :               break;
    4494              :             }
    4495        30724 :           case GT_EXPR:
    4496        30724 :             {
    4497        30724 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4498        30724 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4499        30724 :               if (zerop (_q22))
    4500              :                 {
    4501        28567 :                   switch (TREE_CODE (_p1))
    4502              :                     {
    4503            0 :                     case COND_EXPR:
    4504            0 :                       {
    4505            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4506            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4507            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4508            0 :                         switch (TREE_CODE (_q80))
    4509              :                           {
    4510            0 :                           case LE_EXPR:
    4511            0 :                             {
    4512            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4513            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4514            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4515              :                                 {
    4516            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4517              :                                     {
    4518            0 :                                       if (zerop (_q82))
    4519              :                                         {
    4520            0 :                                           {
    4521            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4522            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR, LE_EXPR);
    4523            0 :                                             if (res) return res;
    4524              :                                           }
    4525              :                                         }
    4526              :                                     }
    4527              :                                 }
    4528              :                               break;
    4529              :                             }
    4530              :                           default:;
    4531              :                           }
    4532              :                         break;
    4533              :                       }
    4534              :                     default:;
    4535              :                     }
    4536              :                 }
    4537              :               break;
    4538              :             }
    4539            0 :           case UNORDERED_EXPR:
    4540            0 :             {
    4541            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4542            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4543            0 :               if (zerop (_q22))
    4544              :                 {
    4545            0 :                   switch (TREE_CODE (_p1))
    4546              :                     {
    4547            0 :                     case COND_EXPR:
    4548            0 :                       {
    4549            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4550            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4551            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4552            0 :                         switch (TREE_CODE (_q80))
    4553              :                           {
    4554            0 :                           case ORDERED_EXPR:
    4555            0 :                             {
    4556            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4557            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4558            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4559              :                                 {
    4560            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4561              :                                     {
    4562            0 :                                       if (zerop (_q82))
    4563              :                                         {
    4564            0 :                                           {
    4565            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4566            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    4567            0 :                                             if (res) return res;
    4568              :                                           }
    4569              :                                         }
    4570              :                                     }
    4571              :                                 }
    4572              :                               break;
    4573              :                             }
    4574              :                           default:;
    4575              :                           }
    4576              :                         break;
    4577              :                       }
    4578              :                     default:;
    4579              :                     }
    4580              :                 }
    4581              :               break;
    4582              :             }
    4583            0 :           case ORDERED_EXPR:
    4584            0 :             {
    4585            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4586            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4587            0 :               if (zerop (_q22))
    4588              :                 {
    4589            0 :                   switch (TREE_CODE (_p1))
    4590              :                     {
    4591            0 :                     case COND_EXPR:
    4592            0 :                       {
    4593            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4594            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4595            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4596            0 :                         switch (TREE_CODE (_q80))
    4597              :                           {
    4598            0 :                           case UNORDERED_EXPR:
    4599            0 :                             {
    4600            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4601            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4602            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4603              :                                 {
    4604            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4605              :                                     {
    4606            0 :                                       if (zerop (_q82))
    4607              :                                         {
    4608            0 :                                           {
    4609            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4610            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    4611            0 :                                             if (res) return res;
    4612              :                                           }
    4613              :                                         }
    4614              :                                     }
    4615              :                                 }
    4616              :                               break;
    4617              :                             }
    4618              :                           default:;
    4619              :                           }
    4620              :                         break;
    4621              :                       }
    4622              :                     default:;
    4623              :                     }
    4624              :                 }
    4625              :               break;
    4626              :             }
    4627            0 :           case UNLT_EXPR:
    4628            0 :             {
    4629            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4630            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4631            0 :               if (zerop (_q22))
    4632              :                 {
    4633            0 :                   switch (TREE_CODE (_p1))
    4634              :                     {
    4635            0 :                     case COND_EXPR:
    4636            0 :                       {
    4637            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4638            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4639            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4640            0 :                         switch (TREE_CODE (_q80))
    4641              :                           {
    4642            0 :                           case GE_EXPR:
    4643            0 :                             {
    4644            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4645            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4646            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4647              :                                 {
    4648            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4649              :                                     {
    4650            0 :                                       if (zerop (_q82))
    4651              :                                         {
    4652            0 :                                           {
    4653            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4654            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLT_EXPR, GE_EXPR);
    4655            0 :                                             if (res) return res;
    4656              :                                           }
    4657              :                                         }
    4658              :                                     }
    4659              :                                 }
    4660              :                               break;
    4661              :                             }
    4662              :                           default:;
    4663              :                           }
    4664              :                         break;
    4665              :                       }
    4666              :                     default:;
    4667              :                     }
    4668              :                 }
    4669              :               break;
    4670              :             }
    4671            0 :           case UNLE_EXPR:
    4672            0 :             {
    4673            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4674            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4675            0 :               if (zerop (_q22))
    4676              :                 {
    4677            0 :                   switch (TREE_CODE (_p1))
    4678              :                     {
    4679            0 :                     case COND_EXPR:
    4680            0 :                       {
    4681            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4682            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4683            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4684            0 :                         switch (TREE_CODE (_q80))
    4685              :                           {
    4686            0 :                           case GT_EXPR:
    4687            0 :                             {
    4688            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4689            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4690            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4691              :                                 {
    4692            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4693              :                                     {
    4694            0 :                                       if (zerop (_q82))
    4695              :                                         {
    4696            0 :                                           {
    4697            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4698            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLE_EXPR, GT_EXPR);
    4699            0 :                                             if (res) return res;
    4700              :                                           }
    4701              :                                         }
    4702              :                                     }
    4703              :                                 }
    4704              :                               break;
    4705              :                             }
    4706              :                           default:;
    4707              :                           }
    4708              :                         break;
    4709              :                       }
    4710              :                     default:;
    4711              :                     }
    4712              :                 }
    4713              :               break;
    4714              :             }
    4715            0 :           case UNGT_EXPR:
    4716            0 :             {
    4717            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4718            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4719            0 :               if (zerop (_q22))
    4720              :                 {
    4721            0 :                   switch (TREE_CODE (_p1))
    4722              :                     {
    4723            0 :                     case COND_EXPR:
    4724            0 :                       {
    4725            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4726            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4727            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4728            0 :                         switch (TREE_CODE (_q80))
    4729              :                           {
    4730            0 :                           case LE_EXPR:
    4731            0 :                             {
    4732            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4733            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4734            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4735              :                                 {
    4736            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4737              :                                     {
    4738            0 :                                       if (zerop (_q82))
    4739              :                                         {
    4740            0 :                                           {
    4741            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4742            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGT_EXPR, LE_EXPR);
    4743            0 :                                             if (res) return res;
    4744              :                                           }
    4745              :                                         }
    4746              :                                     }
    4747              :                                 }
    4748              :                               break;
    4749              :                             }
    4750              :                           default:;
    4751              :                           }
    4752              :                         break;
    4753              :                       }
    4754              :                     default:;
    4755              :                     }
    4756              :                 }
    4757              :               break;
    4758              :             }
    4759            0 :           case UNGE_EXPR:
    4760            0 :             {
    4761            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4762            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4763            0 :               if (zerop (_q22))
    4764              :                 {
    4765            0 :                   switch (TREE_CODE (_p1))
    4766              :                     {
    4767            0 :                     case COND_EXPR:
    4768            0 :                       {
    4769            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4770            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4771            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4772            0 :                         switch (TREE_CODE (_q80))
    4773              :                           {
    4774            0 :                           case LT_EXPR:
    4775            0 :                             {
    4776            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4777            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4778            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4779              :                                 {
    4780            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4781              :                                     {
    4782            0 :                                       if (zerop (_q82))
    4783              :                                         {
    4784            0 :                                           {
    4785            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4786            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGE_EXPR, LT_EXPR);
    4787            0 :                                             if (res) return res;
    4788              :                                           }
    4789              :                                         }
    4790              :                                     }
    4791              :                                 }
    4792              :                               break;
    4793              :                             }
    4794              :                           default:;
    4795              :                           }
    4796              :                         break;
    4797              :                       }
    4798              :                     default:;
    4799              :                     }
    4800              :                 }
    4801              :               break;
    4802              :             }
    4803            0 :           case UNEQ_EXPR:
    4804            0 :             {
    4805            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4806            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4807            0 :               if (zerop (_q22))
    4808              :                 {
    4809            0 :                   switch (TREE_CODE (_p1))
    4810              :                     {
    4811            0 :                     case COND_EXPR:
    4812            0 :                       {
    4813            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4814            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4815            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4816            0 :                         switch (TREE_CODE (_q80))
    4817              :                           {
    4818            0 :                           case LTGT_EXPR:
    4819            0 :                             {
    4820            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4821            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4822            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4823              :                                 {
    4824            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4825              :                                     {
    4826            0 :                                       if (zerop (_q82))
    4827              :                                         {
    4828            0 :                                           {
    4829            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4830            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNEQ_EXPR, LTGT_EXPR);
    4831            0 :                                             if (res) return res;
    4832              :                                           }
    4833              :                                         }
    4834              :                                     }
    4835              :                                 }
    4836              :                               break;
    4837              :                             }
    4838              :                           default:;
    4839              :                           }
    4840              :                         break;
    4841              :                       }
    4842              :                     default:;
    4843              :                     }
    4844              :                 }
    4845              :               break;
    4846              :             }
    4847            0 :           case LTGT_EXPR:
    4848            0 :             {
    4849            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4850            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4851            0 :               if (zerop (_q22))
    4852              :                 {
    4853            0 :                   switch (TREE_CODE (_p1))
    4854              :                     {
    4855            0 :                     case COND_EXPR:
    4856            0 :                       {
    4857            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4858            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4859            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4860            0 :                         switch (TREE_CODE (_q80))
    4861              :                           {
    4862            0 :                           case UNEQ_EXPR:
    4863            0 :                             {
    4864            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    4865            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    4866            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    4867              :                                 {
    4868            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    4869              :                                     {
    4870            0 :                                       if (zerop (_q82))
    4871              :                                         {
    4872            0 :                                           {
    4873            0 :                                             tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
    4874            0 :                                             tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, PLUS_EXPR, LTGT_EXPR, UNEQ_EXPR);
    4875            0 :                                             if (res) return res;
    4876              :                                           }
    4877              :                                         }
    4878              :                                     }
    4879              :                                 }
    4880              :                               break;
    4881              :                             }
    4882              :                           default:;
    4883              :                           }
    4884              :                         break;
    4885              :                       }
    4886              :                     default:;
    4887              :                     }
    4888              :                 }
    4889              :               break;
    4890              :             }
    4891              :           default:;
    4892              :           }
    4893              :         break;
    4894              :       }
    4895          168 :     case VEC_COND_EXPR:
    4896          168 :       {
    4897          168 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4898          168 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4899          168 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4900          168 :         if (integer_zerop (_q22))
    4901              :           {
    4902          106 :             switch (TREE_CODE (_p1))
    4903              :               {
    4904           24 :               case VEC_COND_EXPR:
    4905           24 :                 {
    4906           24 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4907           24 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4908           24 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4909           24 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4910              :                     {
    4911            0 :                       if (integer_zerop (_q61))
    4912              :                         {
    4913            0 :                           {
    4914            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
    4915            0 :                             const enum tree_code op = PLUS_EXPR;
    4916            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1250;
    4917            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1250;
    4918            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1250;
    4919            0 :                             {
    4920            0 :                               tree res_op0;
    4921            0 :                               res_op0 = captures[1];
    4922            0 :                               tree res_op1;
    4923            0 :                               res_op1 = captures[2];
    4924            0 :                               tree res_op2;
    4925            0 :                               res_op2 = captures[4];
    4926            0 :                               tree _r;
    4927            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4928            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    4929            0 :                               return _r;
    4930              :                             }
    4931            0 : next_after_fail1250:;
    4932              :                           }
    4933              :                         }
    4934              :                     }
    4935              :                   break;
    4936              :                 }
    4937              :               default:;
    4938              :               }
    4939              :           }
    4940          168 :         if (integer_zerop (_q21))
    4941              :           {
    4942            0 :             switch (TREE_CODE (_p1))
    4943              :               {
    4944            0 :               case VEC_COND_EXPR:
    4945            0 :                 {
    4946            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4947            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    4948            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    4949            0 :                   if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4950              :                     {
    4951            0 :                       if (integer_zerop (_q62))
    4952              :                         {
    4953            0 :                           {
    4954            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
    4955            0 :                             const enum tree_code op = PLUS_EXPR;
    4956            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1251;
    4957            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1251;
    4958            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1251;
    4959            0 :                             {
    4960            0 :                               tree res_op0;
    4961            0 :                               res_op0 = captures[1];
    4962            0 :                               tree res_op1;
    4963            0 :                               res_op1 = captures[2];
    4964            0 :                               tree res_op2;
    4965            0 :                               res_op2 = captures[4];
    4966            0 :                               tree _r;
    4967            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4968            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    4969            0 :                               return _r;
    4970              :                             }
    4971            0 : next_after_fail1251:;
    4972              :                           }
    4973              :                         }
    4974              :                     }
    4975              :                   break;
    4976              :                 }
    4977              :               default:;
    4978              :               }
    4979              :           }
    4980          168 :         switch (TREE_CODE (_q20))
    4981              :           {
    4982            8 :           case LT_EXPR:
    4983            8 :             {
    4984            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4985            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4986            8 :               if (integer_zerop (_q22))
    4987              :                 {
    4988            8 :                   switch (TREE_CODE (_p1))
    4989              :                     {
    4990            0 :                     case VEC_COND_EXPR:
    4991            0 :                       {
    4992            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    4993            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    4994            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    4995            0 :                         switch (TREE_CODE (_q80))
    4996              :                           {
    4997            0 :                           case GE_EXPR:
    4998            0 :                             {
    4999            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5000            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5001            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5002              :                                 {
    5003            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5004              :                                     {
    5005            0 :                                       if (integer_zerop (_q82))
    5006              :                                         {
    5007            0 :                                           {
    5008            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5009            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, LT_EXPR, GE_EXPR);
    5010            0 :                                             if (res) return res;
    5011              :                                           }
    5012              :                                         }
    5013              :                                     }
    5014              :                                 }
    5015              :                               break;
    5016              :                             }
    5017              :                           default:;
    5018              :                           }
    5019              :                         break;
    5020              :                       }
    5021              :                     default:;
    5022              :                     }
    5023              :                 }
    5024              :               break;
    5025              :             }
    5026            8 :           case LE_EXPR:
    5027            8 :             {
    5028            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5029            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5030            8 :               if (integer_zerop (_q22))
    5031              :                 {
    5032            8 :                   switch (TREE_CODE (_p1))
    5033              :                     {
    5034            0 :                     case VEC_COND_EXPR:
    5035            0 :                       {
    5036            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5037            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5038            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5039            0 :                         switch (TREE_CODE (_q80))
    5040              :                           {
    5041            0 :                           case GT_EXPR:
    5042            0 :                             {
    5043            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5044            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5045            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5046              :                                 {
    5047            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5048              :                                     {
    5049            0 :                                       if (integer_zerop (_q82))
    5050              :                                         {
    5051            0 :                                           {
    5052            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5053            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, LE_EXPR, GT_EXPR);
    5054            0 :                                             if (res) return res;
    5055              :                                           }
    5056              :                                         }
    5057              :                                     }
    5058              :                                 }
    5059              :                               break;
    5060              :                             }
    5061              :                           default:;
    5062              :                           }
    5063              :                         break;
    5064              :                       }
    5065              :                     default:;
    5066              :                     }
    5067              :                 }
    5068              :               break;
    5069              :             }
    5070           34 :           case EQ_EXPR:
    5071           34 :             {
    5072           34 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5073           34 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5074           34 :               if (integer_zerop (_q22))
    5075              :                 {
    5076           34 :                   switch (TREE_CODE (_p1))
    5077              :                     {
    5078           24 :                     case VEC_COND_EXPR:
    5079           24 :                       {
    5080           24 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5081           24 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5082           24 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5083           24 :                         switch (TREE_CODE (_q80))
    5084              :                           {
    5085           24 :                           case NE_EXPR:
    5086           24 :                             {
    5087           24 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5088           24 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5089           24 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5090              :                                 {
    5091           24 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5092              :                                     {
    5093           24 :                                       if (integer_zerop (_q82))
    5094              :                                         {
    5095           24 :                                           {
    5096           24 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5097           24 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR, NE_EXPR);
    5098           24 :                                             if (res) return res;
    5099              :                                           }
    5100              :                                         }
    5101              :                                     }
    5102              :                                 }
    5103              :                               break;
    5104              :                             }
    5105              :                           default:;
    5106              :                           }
    5107              :                         break;
    5108              :                       }
    5109              :                     default:;
    5110              :                     }
    5111              :                 }
    5112              :               break;
    5113              :             }
    5114           22 :           case NE_EXPR:
    5115           22 :             {
    5116           22 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5117           22 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5118           22 :               if (integer_zerop (_q22))
    5119              :                 {
    5120            8 :                   switch (TREE_CODE (_p1))
    5121              :                     {
    5122            0 :                     case VEC_COND_EXPR:
    5123            0 :                       {
    5124            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5125            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5126            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5127            0 :                         switch (TREE_CODE (_q80))
    5128              :                           {
    5129            0 :                           case EQ_EXPR:
    5130            0 :                             {
    5131            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5132            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5133            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5134              :                                 {
    5135            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5136              :                                     {
    5137            0 :                                       if (integer_zerop (_q82))
    5138              :                                         {
    5139            0 :                                           {
    5140            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5141            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, NE_EXPR, EQ_EXPR);
    5142            0 :                                             if (res) return res;
    5143              :                                           }
    5144              :                                         }
    5145              :                                     }
    5146              :                                 }
    5147              :                               break;
    5148              :                             }
    5149              :                           default:;
    5150              :                           }
    5151              :                         break;
    5152              :                       }
    5153              :                     default:;
    5154              :                     }
    5155              :                 }
    5156              :               break;
    5157              :             }
    5158           15 :           case GE_EXPR:
    5159           15 :             {
    5160           15 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5161           15 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5162           15 :               if (integer_zerop (_q22))
    5163              :                 {
    5164           15 :                   switch (TREE_CODE (_p1))
    5165              :                     {
    5166            0 :                     case VEC_COND_EXPR:
    5167            0 :                       {
    5168            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5169            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5170            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5171            0 :                         switch (TREE_CODE (_q80))
    5172              :                           {
    5173            0 :                           case LT_EXPR:
    5174            0 :                             {
    5175            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5176            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5177            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5178              :                                 {
    5179            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5180              :                                     {
    5181            0 :                                       if (integer_zerop (_q82))
    5182              :                                         {
    5183            0 :                                           {
    5184            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5185            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR, LT_EXPR);
    5186            0 :                                             if (res) return res;
    5187              :                                           }
    5188              :                                         }
    5189              :                                     }
    5190              :                                 }
    5191              :                               break;
    5192              :                             }
    5193              :                           default:;
    5194              :                           }
    5195              :                         break;
    5196              :                       }
    5197              :                     default:;
    5198              :                     }
    5199              :                 }
    5200              :               break;
    5201              :             }
    5202           81 :           case GT_EXPR:
    5203           81 :             {
    5204           81 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5205           81 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5206           81 :               if (integer_zerop (_q22))
    5207              :                 {
    5208           33 :                   switch (TREE_CODE (_p1))
    5209              :                     {
    5210            0 :                     case VEC_COND_EXPR:
    5211            0 :                       {
    5212            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5213            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5214            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5215            0 :                         switch (TREE_CODE (_q80))
    5216              :                           {
    5217            0 :                           case LE_EXPR:
    5218            0 :                             {
    5219            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5220            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5221            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5222              :                                 {
    5223            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5224              :                                     {
    5225            0 :                                       if (integer_zerop (_q82))
    5226              :                                         {
    5227            0 :                                           {
    5228            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5229            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, GT_EXPR, LE_EXPR);
    5230            0 :                                             if (res) return res;
    5231              :                                           }
    5232              :                                         }
    5233              :                                     }
    5234              :                                 }
    5235              :                               break;
    5236              :                             }
    5237              :                           default:;
    5238              :                           }
    5239              :                         break;
    5240              :                       }
    5241              :                     default:;
    5242              :                     }
    5243              :                 }
    5244              :               break;
    5245              :             }
    5246            0 :           case UNORDERED_EXPR:
    5247            0 :             {
    5248            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5249            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5250            0 :               if (integer_zerop (_q22))
    5251              :                 {
    5252            0 :                   switch (TREE_CODE (_p1))
    5253              :                     {
    5254            0 :                     case VEC_COND_EXPR:
    5255            0 :                       {
    5256            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5257            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5258            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5259            0 :                         switch (TREE_CODE (_q80))
    5260              :                           {
    5261            0 :                           case ORDERED_EXPR:
    5262            0 :                             {
    5263            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5264            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5265            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5266              :                                 {
    5267            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5268              :                                     {
    5269            0 :                                       if (integer_zerop (_q82))
    5270              :                                         {
    5271            0 :                                           {
    5272            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5273            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
    5274            0 :                                             if (res) return res;
    5275              :                                           }
    5276              :                                         }
    5277              :                                     }
    5278              :                                 }
    5279              :                               break;
    5280              :                             }
    5281              :                           default:;
    5282              :                           }
    5283              :                         break;
    5284              :                       }
    5285              :                     default:;
    5286              :                     }
    5287              :                 }
    5288              :               break;
    5289              :             }
    5290            0 :           case ORDERED_EXPR:
    5291            0 :             {
    5292            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5293            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5294            0 :               if (integer_zerop (_q22))
    5295              :                 {
    5296            0 :                   switch (TREE_CODE (_p1))
    5297              :                     {
    5298            0 :                     case VEC_COND_EXPR:
    5299            0 :                       {
    5300            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5301            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5302            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5303            0 :                         switch (TREE_CODE (_q80))
    5304              :                           {
    5305            0 :                           case UNORDERED_EXPR:
    5306            0 :                             {
    5307            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5308            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5309            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5310              :                                 {
    5311            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5312              :                                     {
    5313            0 :                                       if (integer_zerop (_q82))
    5314              :                                         {
    5315            0 :                                           {
    5316            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5317            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
    5318            0 :                                             if (res) return res;
    5319              :                                           }
    5320              :                                         }
    5321              :                                     }
    5322              :                                 }
    5323              :                               break;
    5324              :                             }
    5325              :                           default:;
    5326              :                           }
    5327              :                         break;
    5328              :                       }
    5329              :                     default:;
    5330              :                     }
    5331              :                 }
    5332              :               break;
    5333              :             }
    5334            0 :           case UNLT_EXPR:
    5335            0 :             {
    5336            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5337            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5338            0 :               if (integer_zerop (_q22))
    5339              :                 {
    5340            0 :                   switch (TREE_CODE (_p1))
    5341              :                     {
    5342            0 :                     case VEC_COND_EXPR:
    5343            0 :                       {
    5344            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5345            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5346            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5347            0 :                         switch (TREE_CODE (_q80))
    5348              :                           {
    5349            0 :                           case GE_EXPR:
    5350            0 :                             {
    5351            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5352            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5353            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5354              :                                 {
    5355            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5356              :                                     {
    5357            0 :                                       if (integer_zerop (_q82))
    5358              :                                         {
    5359            0 :                                           {
    5360            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5361            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLT_EXPR, GE_EXPR);
    5362            0 :                                             if (res) return res;
    5363              :                                           }
    5364              :                                         }
    5365              :                                     }
    5366              :                                 }
    5367              :                               break;
    5368              :                             }
    5369              :                           default:;
    5370              :                           }
    5371              :                         break;
    5372              :                       }
    5373              :                     default:;
    5374              :                     }
    5375              :                 }
    5376              :               break;
    5377              :             }
    5378            0 :           case UNLE_EXPR:
    5379            0 :             {
    5380            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5381            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5382            0 :               if (integer_zerop (_q22))
    5383              :                 {
    5384            0 :                   switch (TREE_CODE (_p1))
    5385              :                     {
    5386            0 :                     case VEC_COND_EXPR:
    5387            0 :                       {
    5388            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5389            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5390            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5391            0 :                         switch (TREE_CODE (_q80))
    5392              :                           {
    5393            0 :                           case GT_EXPR:
    5394            0 :                             {
    5395            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5396            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5397            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5398              :                                 {
    5399            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5400              :                                     {
    5401            0 :                                       if (integer_zerop (_q82))
    5402              :                                         {
    5403            0 :                                           {
    5404            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5405            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNLE_EXPR, GT_EXPR);
    5406            0 :                                             if (res) return res;
    5407              :                                           }
    5408              :                                         }
    5409              :                                     }
    5410              :                                 }
    5411              :                               break;
    5412              :                             }
    5413              :                           default:;
    5414              :                           }
    5415              :                         break;
    5416              :                       }
    5417              :                     default:;
    5418              :                     }
    5419              :                 }
    5420              :               break;
    5421              :             }
    5422            0 :           case UNGT_EXPR:
    5423            0 :             {
    5424            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5425            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5426            0 :               if (integer_zerop (_q22))
    5427              :                 {
    5428            0 :                   switch (TREE_CODE (_p1))
    5429              :                     {
    5430            0 :                     case VEC_COND_EXPR:
    5431            0 :                       {
    5432            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5433            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5434            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5435            0 :                         switch (TREE_CODE (_q80))
    5436              :                           {
    5437            0 :                           case LE_EXPR:
    5438            0 :                             {
    5439            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5440            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5441            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5442              :                                 {
    5443            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5444              :                                     {
    5445            0 :                                       if (integer_zerop (_q82))
    5446              :                                         {
    5447            0 :                                           {
    5448            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5449            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGT_EXPR, LE_EXPR);
    5450            0 :                                             if (res) return res;
    5451              :                                           }
    5452              :                                         }
    5453              :                                     }
    5454              :                                 }
    5455              :                               break;
    5456              :                             }
    5457              :                           default:;
    5458              :                           }
    5459              :                         break;
    5460              :                       }
    5461              :                     default:;
    5462              :                     }
    5463              :                 }
    5464              :               break;
    5465              :             }
    5466            0 :           case UNGE_EXPR:
    5467            0 :             {
    5468            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5469            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5470            0 :               if (integer_zerop (_q22))
    5471              :                 {
    5472            0 :                   switch (TREE_CODE (_p1))
    5473              :                     {
    5474            0 :                     case VEC_COND_EXPR:
    5475            0 :                       {
    5476            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5477            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5478            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5479            0 :                         switch (TREE_CODE (_q80))
    5480              :                           {
    5481            0 :                           case LT_EXPR:
    5482            0 :                             {
    5483            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5484            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5485            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5486              :                                 {
    5487            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5488              :                                     {
    5489            0 :                                       if (integer_zerop (_q82))
    5490              :                                         {
    5491            0 :                                           {
    5492            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5493            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNGE_EXPR, LT_EXPR);
    5494            0 :                                             if (res) return res;
    5495              :                                           }
    5496              :                                         }
    5497              :                                     }
    5498              :                                 }
    5499              :                               break;
    5500              :                             }
    5501              :                           default:;
    5502              :                           }
    5503              :                         break;
    5504              :                       }
    5505              :                     default:;
    5506              :                     }
    5507              :                 }
    5508              :               break;
    5509              :             }
    5510            0 :           case UNEQ_EXPR:
    5511            0 :             {
    5512            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5513            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5514            0 :               if (integer_zerop (_q22))
    5515              :                 {
    5516            0 :                   switch (TREE_CODE (_p1))
    5517              :                     {
    5518            0 :                     case VEC_COND_EXPR:
    5519            0 :                       {
    5520            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5521            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5522            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5523            0 :                         switch (TREE_CODE (_q80))
    5524              :                           {
    5525            0 :                           case LTGT_EXPR:
    5526            0 :                             {
    5527            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5528            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5529            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5530              :                                 {
    5531            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5532              :                                     {
    5533            0 :                                       if (integer_zerop (_q82))
    5534              :                                         {
    5535            0 :                                           {
    5536            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5537            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, UNEQ_EXPR, LTGT_EXPR);
    5538            0 :                                             if (res) return res;
    5539              :                                           }
    5540              :                                         }
    5541              :                                     }
    5542              :                                 }
    5543              :                               break;
    5544              :                             }
    5545              :                           default:;
    5546              :                           }
    5547              :                         break;
    5548              :                       }
    5549              :                     default:;
    5550              :                     }
    5551              :                 }
    5552              :               break;
    5553              :             }
    5554            0 :           case LTGT_EXPR:
    5555            0 :             {
    5556            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5557            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5558            0 :               if (integer_zerop (_q22))
    5559              :                 {
    5560            0 :                   switch (TREE_CODE (_p1))
    5561              :                     {
    5562            0 :                     case VEC_COND_EXPR:
    5563            0 :                       {
    5564            0 :                         tree _q80 = TREE_OPERAND (_p1, 0);
    5565            0 :                         tree _q81 = TREE_OPERAND (_p1, 1);
    5566            0 :                         tree _q82 = TREE_OPERAND (_p1, 2);
    5567            0 :                         switch (TREE_CODE (_q80))
    5568              :                           {
    5569            0 :                           case UNEQ_EXPR:
    5570            0 :                             {
    5571            0 :                               tree _q90 = TREE_OPERAND (_q80, 0);
    5572            0 :                               tree _q91 = TREE_OPERAND (_q80, 1);
    5573            0 :                               if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
    5574              :                                 {
    5575            0 :                                   if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
    5576              :                                     {
    5577            0 :                                       if (integer_zerop (_q82))
    5578              :                                         {
    5579            0 :                                           {
    5580            0 :                                             tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
    5581            0 :                                             tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, PLUS_EXPR, LTGT_EXPR, UNEQ_EXPR);
    5582            0 :                                             if (res) return res;
    5583              :                                           }
    5584              :                                         }
    5585              :                                     }
    5586              :                                 }
    5587              :                               break;
    5588              :                             }
    5589              :                           default:;
    5590              :                           }
    5591              :                         break;
    5592              :                       }
    5593              :                     default:;
    5594              :                     }
    5595              :                 }
    5596              :               break;
    5597              :             }
    5598              :           default:;
    5599              :           }
    5600              :         break;
    5601              :       }
    5602     70855116 :     default:;
    5603              :     }
    5604     70855116 : {
    5605     70855116 :   tree _p0_pops[1];
    5606     70855116 :   if (tree_nop_convert (_p0, _p0_pops))
    5607              :     {
    5608     14116099 :       tree _q20 = _p0_pops[0];
    5609     14116099 :       switch (TREE_CODE (_q20))
    5610              :         {
    5611        98735 :         case MINUS_EXPR:
    5612        98735 :           {
    5613        98735 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5614        98735 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5615        98735 :             switch (TREE_CODE (_q30))
    5616              :               {
    5617            2 :               case BIT_AND_EXPR:
    5618            2 :                 {
    5619            2 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5620            2 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    5621            2 :                   switch (TREE_CODE (_q31))
    5622              :                     {
    5623            1 :                     case BIT_IOR_EXPR:
    5624            1 :                       {
    5625            1 :                         tree _q70 = TREE_OPERAND (_q31, 0);
    5626            1 :                         tree _q71 = TREE_OPERAND (_q31, 1);
    5627            1 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5628              :                           {
    5629            1 :                             if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
    5630              :                               {
    5631            1 :                                 if (integer_all_onesp (_p1))
    5632              :                                   {
    5633            1 :                                     {
    5634            1 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
    5635            1 :                                       tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    5636            1 :                                       if (res) return res;
    5637              :                                     }
    5638              :                                   }
    5639              :                               }
    5640              :                           }
    5641            0 :                         if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
    5642              :                           {
    5643            0 :                             if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
    5644              :                               {
    5645            0 :                                 if (integer_all_onesp (_p1))
    5646              :                                   {
    5647            0 :                                     {
    5648            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
    5649            0 :                                       tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    5650            0 :                                       if (res) return res;
    5651              :                                     }
    5652              :                                   }
    5653              :                               }
    5654              :                           }
    5655              :                         break;
    5656              :                       }
    5657              :                     default:;
    5658              :                     }
    5659              :                   break;
    5660              :                 }
    5661        98734 :               default:;
    5662              :               }
    5663        98734 :           {
    5664        98734 :             tree _q30_pops[1];
    5665        98734 :             if (tree_nop_convert (_q30, _q30_pops))
    5666              :               {
    5667        51395 :                 tree _q40 = _q30_pops[0];
    5668        51395 :                 switch (TREE_CODE (_q40))
    5669              :                   {
    5670            0 :                   case BIT_AND_EXPR:
    5671            0 :                     {
    5672            0 :                       tree _q50 = TREE_OPERAND (_q40, 0);
    5673            0 :                       tree _q51 = TREE_OPERAND (_q40, 1);
    5674            0 :                       {
    5675            0 :                         tree _q31_pops[1];
    5676            0 :                         if (tree_nop_convert (_q31, _q31_pops))
    5677              :                           {
    5678            0 :                             tree _q80 = _q31_pops[0];
    5679            0 :                             switch (TREE_CODE (_q80))
    5680              :                               {
    5681            0 :                               case BIT_IOR_EXPR:
    5682            0 :                                 {
    5683            0 :                                   tree _q90 = TREE_OPERAND (_q80, 0);
    5684            0 :                                   tree _q91 = TREE_OPERAND (_q80, 1);
    5685            0 :                                   if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
    5686              :                                     {
    5687            0 :                                       if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
    5688              :                                         {
    5689            0 :                                           if (integer_all_onesp (_p1))
    5690              :                                             {
    5691            0 :                                               {
    5692            0 :                                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
    5693            0 :                                                 tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    5694            0 :                                                 if (res) return res;
    5695              :                                               }
    5696              :                                             }
    5697              :                                         }
    5698              :                                     }
    5699            0 :                                   if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
    5700              :                                     {
    5701            0 :                                       if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
    5702              :                                         {
    5703            0 :                                           if (integer_all_onesp (_p1))
    5704              :                                             {
    5705            0 :                                               {
    5706            0 :                                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
    5707            0 :                                                 tree res = generic_simplify_60 (loc, type, _p0, _p1, captures);
    5708            0 :                                                 if (res) return res;
    5709              :                                               }
    5710              :                                             }
    5711              :                                         }
    5712              :                                     }
    5713              :                                   break;
    5714              :                                 }
    5715              :                               default:;
    5716              :                               }
    5717              :                           }
    5718              :                       }
    5719            0 :                       break;
    5720              :                     }
    5721              :                   default:;
    5722              :                   }
    5723              :               }
    5724              :           }
    5725        98734 :             break;
    5726              :           }
    5727              :         default:;
    5728              :         }
    5729              :     }
    5730              : }
    5731     70855115 :   switch (TREE_CODE (_p1))
    5732              :     {
    5733      8373187 :     CASE_CONVERT:
    5734      8373187 :       {
    5735      8373187 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5736      8373187 :         switch (TREE_CODE (_q30))
    5737              :           {
    5738         1842 :           case NEGATE_EXPR:
    5739         1842 :             {
    5740         1842 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5741         1842 :               {
    5742         1842 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    5743         1842 :                 tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    5744         1842 :                 if (res) return res;
    5745              :               }
    5746          295 :               break;
    5747              :             }
    5748              :           default:;
    5749              :           }
    5750              :         break;
    5751              :       }
    5752         8085 :     case NEGATE_EXPR:
    5753         8085 :       {
    5754         8085 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5755         8085 :         {
    5756         8085 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5757         8085 :           tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    5758         8085 :           if (res) return res;
    5759              :         }
    5760            0 :         break;
    5761              :       }
    5762     70845483 :     default:;
    5763              :     }
    5764     70845483 :   switch (TREE_CODE (_p0))
    5765              :     {
    5766       232477 :     case NEGATE_EXPR:
    5767       232477 :       {
    5768       232477 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5769       232477 :         {
    5770       232477 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    5771       232477 :           tree res = generic_simplify_62 (loc, type, _p0, _p1, captures);
    5772       232477 :           if (res) return res;
    5773              :         }
    5774          134 :         break;
    5775              :       }
    5776     70613140 :     default:;
    5777              :     }
    5778     70613140 : {
    5779     70613140 :   tree _p0_pops[1];
    5780     70613140 :   if (tree_nop_convert (_p0, _p0_pops))
    5781              :     {
    5782     14109984 :       tree _q20 = _p0_pops[0];
    5783     14109984 :       switch (TREE_CODE (_q20))
    5784              :         {
    5785        98225 :         case MINUS_EXPR:
    5786        98225 :           {
    5787        98225 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5788        98225 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5789        98225 :             {
    5790        98225 :               tree _q31_pops[1];
    5791        98225 :               if (tree_nop_convert (_q31, _q31_pops))
    5792              :                 {
    5793        61913 :                   tree _q50 = _q31_pops[0];
    5794        61913 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    5795              :                     {
    5796           28 :                       {
    5797           28 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
    5798           28 :                         tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5799           28 :                         if (res) return res;
    5800              :                       }
    5801              :                     }
    5802              :                 }
    5803              :             }
    5804        98197 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    5805              :               {
    5806            6 :                 {
    5807            6 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    5808            6 :                   tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5809            6 :                   if (res) return res;
    5810              :                 }
    5811              :               }
    5812        98191 :             if (CONSTANT_CLASS_P (_q31))
    5813              :               {
    5814        16918 :                 if (CONSTANT_CLASS_P (_p1))
    5815              :                   {
    5816        16804 :                     {
    5817        16804 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5818        16804 :                       tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
    5819        16804 :                       if (res) return res;
    5820              :                     }
    5821              :                   }
    5822              :               }
    5823        81387 :             if (CONSTANT_CLASS_P (_q30))
    5824              :               {
    5825        14854 :                 if (CONSTANT_CLASS_P (_p1))
    5826              :                   {
    5827         5613 :                     {
    5828         5613 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5829         5613 :                       tree res = generic_simplify_64 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    5830         5613 :                       if (res) return res;
    5831              :                     }
    5832              :                   }
    5833              :               }
    5834              :             break;
    5835              :           }
    5836      1309223 :         case PLUS_EXPR:
    5837      1309223 :           {
    5838      1309223 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5839      1309223 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5840      1309223 :             if (CONSTANT_CLASS_P (_q31))
    5841              :               {
    5842      1106633 :                 if (CONSTANT_CLASS_P (_p1))
    5843              :                   {
    5844      1018171 :                     {
    5845      1018171 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5846      1018171 :                       tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
    5847      1018171 :                       if (res) return res;
    5848              :                     }
    5849              :                   }
    5850              :               }
    5851              :             break;
    5852              :           }
    5853              :         default:;
    5854              :         }
    5855              :     }
    5856              : }
    5857     69573482 :   switch (TREE_CODE (_p1))
    5858              :     {
    5859       175144 :     case MINUS_EXPR:
    5860       175144 :       {
    5861       175144 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5862       175144 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5863       175144 :         {
    5864       175144 :           tree _q31_pops[1];
    5865       175144 :           if (tree_nop_convert (_q31, _q31_pops))
    5866              :             {
    5867        60486 :               tree _q50 = _q31_pops[0];
    5868        60486 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5869              :                 {
    5870            0 :                   {
    5871            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    5872            0 :                     tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5873            0 :                     if (res) return res;
    5874              :                   }
    5875              :                 }
    5876              :             }
    5877              :         }
    5878       175144 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5879              :           {
    5880          308 :             {
    5881          308 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    5882          308 :               tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5883          308 :               if (res) return res;
    5884              :             }
    5885              :           }
    5886              :         break;
    5887              :       }
    5888     69573174 :     default:;
    5889              :     }
    5890     69573174 : {
    5891     69573174 :   tree _p1_pops[1];
    5892     69573174 :   if (tree_nop_convert (_p1, _p1_pops))
    5893              :     {
    5894      8065834 :       tree _q30 = _p1_pops[0];
    5895      8065834 :       switch (TREE_CODE (_q30))
    5896              :         {
    5897         3611 :         case MINUS_EXPR:
    5898         3611 :           {
    5899         3611 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5900         3611 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5901         3611 :             {
    5902         3611 :               tree _q41_pops[1];
    5903         3611 :               if (tree_nop_convert (_q41, _q41_pops))
    5904              :                 {
    5905          573 :                   tree _q60 = _q41_pops[0];
    5906          573 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5907              :                     {
    5908            0 :                       {
    5909            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    5910            0 :                         tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5911            0 :                         if (res) return res;
    5912              :                       }
    5913              :                     }
    5914              :                 }
    5915              :             }
    5916         3611 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5917              :               {
    5918            0 :                 {
    5919            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    5920            0 :                   tree res = generic_simplify_61 (loc, type, _p0, _p1, captures);
    5921            0 :                   if (res) return res;
    5922              :                 }
    5923              :               }
    5924              :             break;
    5925              :           }
    5926              :         default:;
    5927              :         }
    5928              :     }
    5929              : }
    5930     69573174 :   switch (TREE_CODE (_p0))
    5931              :     {
    5932      6515566 :     case PLUS_EXPR:
    5933      6515566 :       {
    5934      6515566 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5935      6515566 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5936      6515566 :         switch (TREE_CODE (_p1))
    5937              :           {
    5938        46567 :           case MINUS_EXPR:
    5939        46567 :             {
    5940        46567 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5941        46567 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5942        46567 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5943              :                 {
    5944          140 :                   {
    5945          140 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5946          140 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    5947          140 :                     if (res) return res;
    5948              :                   }
    5949              :                 }
    5950        46427 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5951              :                 {
    5952          329 :                   {
    5953          329 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5954          329 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    5955          329 :                     if (res) return res;
    5956              :                   }
    5957              :                 }
    5958              :               break;
    5959              :             }
    5960      6515097 :           default:;
    5961              :           }
    5962      6515097 :         if (CONSTANT_CLASS_P (_q21))
    5963              :           {
    5964      2572249 :             if (CONSTANT_CLASS_P (_p1))
    5965              :               {
    5966      1892640 :                 {
    5967      1892640 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5968      1892640 :                   tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR);
    5969      1892640 :                   if (res) return res;
    5970              :                 }
    5971              :               }
    5972              :           }
    5973              :         break;
    5974              :       }
    5975      2021686 :     case MINUS_EXPR:
    5976      2021686 :       {
    5977      2021686 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5978      2021686 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5979      2021686 :         switch (TREE_CODE (_p1))
    5980              :           {
    5981         1086 :           case PLUS_EXPR:
    5982         1086 :             {
    5983         1086 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5984         1086 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5985         1086 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5986              :                 {
    5987          368 :                   {
    5988          368 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    5989          368 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    5990          368 :                     if (res) return res;
    5991              :                   }
    5992              :                 }
    5993          718 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5994              :                 {
    5995           27 :                   {
    5996           27 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q50, _q20 };
    5997           27 :                     tree res = generic_simplify_65 (loc, type, _p0, _p1, captures);
    5998           27 :                     if (res) return res;
    5999              :                   }
    6000              :                 }
    6001              :               break;
    6002              :             }
    6003          513 :           case MINUS_EXPR:
    6004          513 :             {
    6005          513 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6006          513 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6007          513 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6008              :                 {
    6009            1 :                   {
    6010            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6011            1 :                     tree res = generic_simplify_66 (loc, type, _p0, _p1, captures);
    6012            1 :                     if (res) return res;
    6013              :                   }
    6014              :                 }
    6015          512 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6016              :                 {
    6017            9 :                   {
    6018            9 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6019            9 :                     tree res = generic_simplify_66 (loc, type, _p0, _p1, captures);
    6020            9 :                     if (res) return res;
    6021              :                   }
    6022              :                 }
    6023              :               break;
    6024              :             }
    6025      2021281 :           default:;
    6026              :           }
    6027      2021281 :         if (CONSTANT_CLASS_P (_q21))
    6028              :           {
    6029       125706 :             if (CONSTANT_CLASS_P (_p1))
    6030              :               {
    6031        86262 :                 {
    6032        86262 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6033        86262 :                   tree res = generic_simplify_63 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR);
    6034        86262 :                   if (res) return res;
    6035              :                 }
    6036              :               }
    6037              :           }
    6038      1935211 :         if (CONSTANT_CLASS_P (_q20))
    6039              :           {
    6040       404549 :             if (CONSTANT_CLASS_P (_p1))
    6041              :               {
    6042       236006 :                 {
    6043       236006 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6044       236006 :                   tree res = generic_simplify_64 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6045       236006 :                   if (res) return res;
    6046              :                 }
    6047              :               }
    6048              :           }
    6049              :         break;
    6050              :       }
    6051          478 :     case POINTER_DIFF_EXPR:
    6052          478 :       {
    6053          478 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6054          478 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6055          478 :         switch (TREE_CODE (_p1))
    6056              :           {
    6057            7 :           case POINTER_DIFF_EXPR:
    6058            7 :             {
    6059            7 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6060            7 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6061            7 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6062              :                 {
    6063            7 :                   {
    6064            7 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    6065            7 :                     tree res = generic_simplify_67 (loc, type, _p0, _p1, captures);
    6066            7 :                     if (res) return res;
    6067              :                   }
    6068              :                 }
    6069            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6070              :                 {
    6071            0 :                   {
    6072            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
    6073            0 :                     tree res = generic_simplify_67 (loc, type, _p0, _p1, captures);
    6074            0 :                     if (res) return res;
    6075              :                   }
    6076              :                 }
    6077              :               break;
    6078              :             }
    6079              :           default:;
    6080              :           }
    6081              :         break;
    6082              :       }
    6083     18104617 :     CASE_CONVERT:
    6084     18104617 :       {
    6085     18104617 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6086     18104617 :         switch (TREE_CODE (_p1))
    6087              :           {
    6088      2937314 :           CASE_CONVERT:
    6089      2937314 :             {
    6090      2937314 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6091      2937314 :               {
    6092      2937314 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6093      2937314 :                 tree res = generic_simplify_68 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6094      2937314 :                 if (res) return res;
    6095              :               }
    6096      2937169 :               break;
    6097              :             }
    6098     18104472 :           default:;
    6099              :           }
    6100     18104472 :         switch (TREE_CODE (_q20))
    6101              :           {
    6102       123573 :           case BIT_NOT_EXPR:
    6103       123573 :             {
    6104       123573 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6105       123573 :               switch (TREE_CODE (_p1))
    6106              :                 {
    6107          193 :                 CASE_CONVERT:
    6108          193 :                   {
    6109          193 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6110          193 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    6111              :                       {
    6112            0 :                         {
    6113            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6114            0 :                           tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6115            0 :                           if (res) return res;
    6116              :                         }
    6117              :                       }
    6118              :                     break;
    6119              :                   }
    6120              :                 default:;
    6121              :                 }
    6122              :               break;
    6123              :             }
    6124     18104472 :           default:;
    6125              :           }
    6126     18104472 :         switch (TREE_CODE (_p1))
    6127              :           {
    6128      2937169 :           CASE_CONVERT:
    6129      2937169 :             {
    6130      2937169 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6131      2937169 :               switch (TREE_CODE (_q40))
    6132              :                 {
    6133          503 :                 case BIT_NOT_EXPR:
    6134          503 :                   {
    6135          503 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6136          503 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6137              :                       {
    6138            0 :                         {
    6139            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6140            0 :                           tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6141            0 :                           if (res) return res;
    6142              :                         }
    6143              :                       }
    6144              :                     break;
    6145              :                   }
    6146              :                 default:;
    6147              :                 }
    6148              :               break;
    6149              :             }
    6150              :           default:;
    6151              :           }
    6152              :         break;
    6153              :       }
    6154       322710 :     case BIT_NOT_EXPR:
    6155       322710 :       {
    6156       322710 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6157       322710 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6158              :           {
    6159          540 :             {
    6160          540 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6161          540 :               tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6162          540 :               if (res) return res;
    6163              :             }
    6164              :           }
    6165       322170 :         if (integer_each_onep (_p1))
    6166              :           {
    6167         2696 :             {
    6168         2696 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    6169         2696 :               tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
    6170         2696 :               if (res) return res;
    6171              :             }
    6172              :           }
    6173              :         break;
    6174              :       }
    6175     67354552 :     default:;
    6176              :     }
    6177     67354552 :   switch (TREE_CODE (_p1))
    6178              :     {
    6179        40297 :     case BIT_NOT_EXPR:
    6180        40297 :       {
    6181        40297 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6182        40297 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6183              :           {
    6184            0 :             {
    6185            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6186            0 :               tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
    6187            0 :               if (res) return res;
    6188              :             }
    6189              :           }
    6190              :         break;
    6191              :       }
    6192     67354552 :     default:;
    6193              :     }
    6194     67354552 :   switch (TREE_CODE (_p0))
    6195              :     {
    6196     18104472 :     CASE_CONVERT:
    6197     18104472 :       {
    6198     18104472 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6199     18104472 :         switch (TREE_CODE (_q20))
    6200              :           {
    6201       123573 :           case BIT_NOT_EXPR:
    6202       123573 :             {
    6203       123573 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6204       123573 :               if (integer_each_onep (_p1))
    6205              :                 {
    6206       120046 :                   {
    6207       120046 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    6208       120046 :                     tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
    6209       120046 :                     if (res) return res;
    6210              :                   }
    6211              :                 }
    6212              :               break;
    6213              :             }
    6214              :           default:;
    6215              :           }
    6216              :         break;
    6217              :       }
    6218     13380368 :     case MULT_EXPR:
    6219     13380368 :       {
    6220     13380368 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6221     13380368 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6222     13380368 :         switch (TREE_CODE (_p1))
    6223              :           {
    6224      3343874 :           case MULT_EXPR:
    6225      3343874 :             {
    6226      3343874 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6227      3343874 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6228      3343874 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6229              :                 {
    6230       791706 :                   {
    6231       791706 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    6232       791706 :                     tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6233       791706 :                     if (res) return res;
    6234              :                   }
    6235              :                 }
    6236      3339505 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6237              :                 {
    6238           22 :                   {
    6239           22 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    6240           22 :                     tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6241           22 :                     if (res) return res;
    6242              :                   }
    6243              :                 }
    6244      3339499 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6245              :                 {
    6246          242 :                   {
    6247          242 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    6248          242 :                     tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6249          242 :                     if (res) return res;
    6250              :                   }
    6251              :                 }
    6252      3339327 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6253              :                 {
    6254      1271243 :                   {
    6255      1271243 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    6256      1271243 :                     tree res = generic_simplify_71 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6257      1271243 :                     if (res) return res;
    6258              :                   }
    6259              :                 }
    6260              :               break;
    6261              :             }
    6262              :           default:;
    6263              :           }
    6264              :         break;
    6265              :       }
    6266     65959813 :     default:;
    6267              :     }
    6268     65959813 :   switch (TREE_CODE (_p1))
    6269              :     {
    6270      3490911 :     case MULT_EXPR:
    6271      3490911 :       {
    6272      3490911 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6273      3490911 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6274      3490911 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6275              :           {
    6276         3846 :             {
    6277         3846 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    6278         3846 :               tree res = generic_simplify_72 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6279         3846 :               if (res) return res;
    6280              :             }
    6281              :           }
    6282      3487112 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6283              :           {
    6284            0 :             {
    6285            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6286            0 :               tree res = generic_simplify_72 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6287            0 :               if (res) return res;
    6288              :             }
    6289              :           }
    6290              :         break;
    6291              :       }
    6292     65956014 :     default:;
    6293              :     }
    6294     65956014 :   switch (TREE_CODE (_p0))
    6295              :     {
    6296     12104820 :     case MULT_EXPR:
    6297     12104820 :       {
    6298     12104820 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6299     12104820 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6300     12104820 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6301              :           {
    6302        33277 :             {
    6303        33277 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6304        33277 :               tree res = generic_simplify_73 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6305        33277 :               if (res) return res;
    6306              :             }
    6307              :           }
    6308     12072194 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6309              :           {
    6310       325097 :             {
    6311       325097 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    6312       325097 :               tree res = generic_simplify_73 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    6313       325097 :               if (res) return res;
    6314              :             }
    6315              :           }
    6316     11747715 :         if (integer_nonzerop (_q20))
    6317              :           {
    6318          102 :             switch (TREE_CODE (_p1))
    6319              :               {
    6320           50 :               case INTEGER_CST:
    6321           50 :                 {
    6322           50 :                   {
    6323           50 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    6324           50 :                     tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
    6325           50 :                     if (res) return res;
    6326              :                   }
    6327           50 :                   break;
    6328              :                 }
    6329              :               default:;
    6330              :               }
    6331              :           }
    6332     11747715 :         if (integer_nonzerop (_q21))
    6333              :           {
    6334      7824584 :             switch (TREE_CODE (_p1))
    6335              :               {
    6336      3837697 :               case INTEGER_CST:
    6337      3837697 :                 {
    6338      3837697 :                   {
    6339      3837697 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
    6340      3837697 :                     tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
    6341      3837697 :                     if (res) return res;
    6342              :                   }
    6343      3378695 :                   break;
    6344              :                 }
    6345              :               default:;
    6346              :               }
    6347              :           }
    6348     11288713 :         switch (TREE_CODE (_q20))
    6349              :           {
    6350       210217 :           case MINUS_EXPR:
    6351       210217 :             {
    6352       210217 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6353       210217 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6354       210217 :               if (tree_zero_one_valued_p (_q21))
    6355              :                 {
    6356            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6357              :                     {
    6358            0 :                       {
    6359            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
    6360            0 :                         tree res = generic_simplify_75 (loc, type, _p0, _p1, captures);
    6361            0 :                         if (res) return res;
    6362              :                       }
    6363              :                     }
    6364              :                 }
    6365              :               break;
    6366              :             }
    6367     11288713 :           default:;
    6368              :           }
    6369     11288713 :       if (tree_zero_one_valued_p (_q20))
    6370              :         {
    6371        41028 :           switch (TREE_CODE (_q21))
    6372              :             {
    6373            9 :             case MINUS_EXPR:
    6374            9 :               {
    6375            9 :                 tree _q40 = TREE_OPERAND (_q21, 0);
    6376            9 :                 tree _q41 = TREE_OPERAND (_q21, 1);
    6377            9 :                 if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
    6378              :                   {
    6379            9 :                     {
    6380            9 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
    6381            9 :                       tree res = generic_simplify_75 (loc, type, _p0, _p1, captures);
    6382            9 :                       if (res) return res;
    6383              :                     }
    6384              :                   }
    6385              :                 break;
    6386              :               }
    6387              :             default:;
    6388              :             }
    6389              :         }
    6390              :         break;
    6391              :       }
    6392         3104 :     case MIN_EXPR:
    6393         3104 :       {
    6394         3104 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6395         3104 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6396         3104 :         switch (TREE_CODE (_p1))
    6397              :           {
    6398            0 :           case MAX_EXPR:
    6399            0 :             {
    6400            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6401            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6402            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6403              :                 {
    6404            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6405              :                     {
    6406            0 :                       {
    6407            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6408            0 :                         if (!HONOR_NANS (captures[0])
    6409              : )
    6410              :                           {
    6411            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1252;
    6412            0 :                             {
    6413            0 :                               tree res_op0;
    6414            0 :                               res_op0 = captures[0];
    6415            0 :                               tree res_op1;
    6416            0 :                               res_op1 = captures[1];
    6417            0 :                               tree _r;
    6418            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6419            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    6420            0 :                               return _r;
    6421              :                             }
    6422            0 : next_after_fail1252:;
    6423              :                           }
    6424              :                       }
    6425              :                     }
    6426              :                 }
    6427            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6428              :                 {
    6429            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6430              :                     {
    6431            0 :                       {
    6432            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6433            0 :                         if (!HONOR_NANS (captures[0])
    6434              : )
    6435              :                           {
    6436            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1253;
    6437            0 :                             {
    6438            0 :                               tree res_op0;
    6439            0 :                               res_op0 = captures[0];
    6440            0 :                               tree res_op1;
    6441            0 :                               res_op1 = captures[1];
    6442            0 :                               tree _r;
    6443            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6444            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    6445            0 :                               return _r;
    6446              :                             }
    6447            0 : next_after_fail1253:;
    6448              :                           }
    6449              :                       }
    6450              :                     }
    6451              :                 }
    6452              :               break;
    6453              :             }
    6454              :           default:;
    6455              :           }
    6456              :         break;
    6457              :       }
    6458        12144 :     case MAX_EXPR:
    6459        12144 :       {
    6460        12144 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6461        12144 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6462        12144 :         switch (TREE_CODE (_p1))
    6463              :           {
    6464            0 :           case MIN_EXPR:
    6465            0 :             {
    6466            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6467            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6468            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6469              :                 {
    6470            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6471              :                     {
    6472            0 :                       {
    6473            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6474            0 :                         if (!HONOR_NANS (captures[0])
    6475              : )
    6476              :                           {
    6477            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1254;
    6478            0 :                             {
    6479            0 :                               tree res_op0;
    6480            0 :                               res_op0 = captures[0];
    6481            0 :                               tree res_op1;
    6482            0 :                               res_op1 = captures[1];
    6483            0 :                               tree _r;
    6484            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6485            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    6486            0 :                               return _r;
    6487              :                             }
    6488            0 : next_after_fail1254:;
    6489              :                           }
    6490              :                       }
    6491              :                     }
    6492              :                 }
    6493            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6494              :                 {
    6495            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6496              :                     {
    6497            0 :                       {
    6498            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6499            0 :                         if (!HONOR_NANS (captures[0])
    6500              : )
    6501              :                           {
    6502            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1255;
    6503            0 :                             {
    6504            0 :                               tree res_op0;
    6505            0 :                               res_op0 = captures[0];
    6506            0 :                               tree res_op1;
    6507            0 :                               res_op1 = captures[1];
    6508            0 :                               tree _r;
    6509            0 :                               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    6510            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
    6511            0 :                               return _r;
    6512              :                             }
    6513            0 : next_after_fail1255:;
    6514              :                           }
    6515              :                       }
    6516              :                     }
    6517              :                 }
    6518              :               break;
    6519              :             }
    6520              :           default:;
    6521              :           }
    6522              :         break;
    6523              :       }
    6524     65139905 :     default:;
    6525              :     }
    6526     65139905 :   switch (TREE_CODE (_p1))
    6527              :     {
    6528      3487048 :     case MULT_EXPR:
    6529      3487048 :       {
    6530      3487048 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6531      3487048 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6532      3487048 :         switch (TREE_CODE (_q30))
    6533              :           {
    6534       151614 :           case MINUS_EXPR:
    6535       151614 :             {
    6536       151614 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6537       151614 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6538       151614 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6539              :                 {
    6540           16 :                   if (tree_zero_one_valued_p (_q31))
    6541              :                     {
    6542            0 :                       {
    6543            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
    6544            0 :                         tree res = generic_simplify_75 (loc, type, _p0, _p1, captures);
    6545            0 :                         if (res) return res;
    6546              :                       }
    6547              :                     }
    6548              :                 }
    6549              :               break;
    6550              :             }
    6551      3487048 :           default:;
    6552              :           }
    6553      3487048 :       if (tree_zero_one_valued_p (_q30))
    6554              :         {
    6555        13778 :           switch (TREE_CODE (_q31))
    6556              :             {
    6557            0 :             case MINUS_EXPR:
    6558            0 :               {
    6559            0 :                 tree _q50 = TREE_OPERAND (_q31, 0);
    6560            0 :                 tree _q51 = TREE_OPERAND (_q31, 1);
    6561            0 :                 if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
    6562              :                   {
    6563            0 :                     {
    6564            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
    6565            0 :                       tree res = generic_simplify_75 (loc, type, _p0, _p1, captures);
    6566            0 :                       if (res) return res;
    6567              :                     }
    6568              :                   }
    6569              :                 break;
    6570              :               }
    6571              :             default:;
    6572              :             }
    6573              :         }
    6574              :         break;
    6575              :       }
    6576     65139905 :     default:;
    6577              :     }
    6578     65139905 :   switch (TREE_CODE (_p0))
    6579              :     {
    6580     11288711 :     case MULT_EXPR:
    6581     11288711 :       {
    6582     11288711 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6583     11288711 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6584     11288711 :         switch (TREE_CODE (_q20))
    6585              :           {
    6586        16117 :           case TRUNC_DIV_EXPR:
    6587        16117 :             {
    6588        16117 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6589        16117 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6590        16117 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6591              :                 {
    6592         2338 :                   switch (TREE_CODE (_p1))
    6593              :                     {
    6594            2 :                     case TRUNC_MOD_EXPR:
    6595            2 :                       {
    6596            2 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6597            2 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6598            2 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6599              :                           {
    6600            2 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6601              :                               {
    6602            2 :                                 {
    6603            2 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6604            2 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6605            2 :                                   if (res) return res;
    6606              :                                 }
    6607              :                               }
    6608              :                           }
    6609              :                         break;
    6610              :                       }
    6611              :                     default:;
    6612              :                     }
    6613              :                 }
    6614              :               break;
    6615              :             }
    6616            0 :           case CEIL_DIV_EXPR:
    6617            0 :             {
    6618            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6619            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6620            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6621              :                 {
    6622            0 :                   switch (TREE_CODE (_p1))
    6623              :                     {
    6624            0 :                     case CEIL_MOD_EXPR:
    6625            0 :                       {
    6626            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6627            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6628            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6629              :                           {
    6630            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6631              :                               {
    6632            0 :                                 {
    6633            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6634            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6635            0 :                                   if (res) return res;
    6636              :                                 }
    6637              :                               }
    6638              :                           }
    6639              :                         break;
    6640              :                       }
    6641              :                     default:;
    6642              :                     }
    6643              :                 }
    6644              :               break;
    6645              :             }
    6646            0 :           case FLOOR_DIV_EXPR:
    6647            0 :             {
    6648            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6649            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6650            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6651              :                 {
    6652            0 :                   switch (TREE_CODE (_p1))
    6653              :                     {
    6654            0 :                     case FLOOR_MOD_EXPR:
    6655            0 :                       {
    6656            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6657            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6658            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6659              :                           {
    6660            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6661              :                               {
    6662            0 :                                 {
    6663            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6664            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6665            0 :                                   if (res) return res;
    6666              :                                 }
    6667              :                               }
    6668              :                           }
    6669              :                         break;
    6670              :                       }
    6671              :                     default:;
    6672              :                     }
    6673              :                 }
    6674              :               break;
    6675              :             }
    6676            0 :           case ROUND_DIV_EXPR:
    6677            0 :             {
    6678            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    6679            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    6680            0 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    6681              :                 {
    6682            0 :                   switch (TREE_CODE (_p1))
    6683              :                     {
    6684            0 :                     case ROUND_MOD_EXPR:
    6685            0 :                       {
    6686            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6687            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6688            0 :                         if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    6689              :                           {
    6690            0 :                             if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    6691              :                               {
    6692            0 :                                 {
    6693            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    6694            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    6695            0 :                                   if (res) return res;
    6696              :                                 }
    6697              :                               }
    6698              :                           }
    6699              :                         break;
    6700              :                       }
    6701              :                     default:;
    6702              :                     }
    6703              :                 }
    6704              :               break;
    6705              :             }
    6706     11288709 :           default:;
    6707              :           }
    6708     11288709 :         switch (TREE_CODE (_q21))
    6709              :           {
    6710            6 :           case TRUNC_DIV_EXPR:
    6711            6 :             {
    6712            6 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6713            6 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6714            6 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6715              :                 {
    6716            0 :                   switch (TREE_CODE (_p1))
    6717              :                     {
    6718            0 :                     case TRUNC_MOD_EXPR:
    6719            0 :                       {
    6720            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6721            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6722            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6723              :                           {
    6724            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6725              :                               {
    6726            0 :                                 {
    6727            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6728            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6729            0 :                                   if (res) return res;
    6730              :                                 }
    6731              :                               }
    6732              :                           }
    6733              :                         break;
    6734              :                       }
    6735              :                     default:;
    6736              :                     }
    6737              :                 }
    6738              :               break;
    6739              :             }
    6740            4 :           case CEIL_DIV_EXPR:
    6741            4 :             {
    6742            4 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6743            4 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6744            4 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6745              :                 {
    6746            0 :                   switch (TREE_CODE (_p1))
    6747              :                     {
    6748            0 :                     case CEIL_MOD_EXPR:
    6749            0 :                       {
    6750            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6751            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6752            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6753              :                           {
    6754            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6755              :                               {
    6756            0 :                                 {
    6757            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6758            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6759            0 :                                   if (res) return res;
    6760              :                                 }
    6761              :                               }
    6762              :                           }
    6763              :                         break;
    6764              :                       }
    6765              :                     default:;
    6766              :                     }
    6767              :                 }
    6768              :               break;
    6769              :             }
    6770            0 :           case FLOOR_DIV_EXPR:
    6771            0 :             {
    6772            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6773            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6774            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6775              :                 {
    6776            0 :                   switch (TREE_CODE (_p1))
    6777              :                     {
    6778            0 :                     case FLOOR_MOD_EXPR:
    6779            0 :                       {
    6780            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6781            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6782            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6783              :                           {
    6784            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6785              :                               {
    6786            0 :                                 {
    6787            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6788            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6789            0 :                                   if (res) return res;
    6790              :                                 }
    6791              :                               }
    6792              :                           }
    6793              :                         break;
    6794              :                       }
    6795              :                     default:;
    6796              :                     }
    6797              :                 }
    6798              :               break;
    6799              :             }
    6800            0 :           case ROUND_DIV_EXPR:
    6801            0 :             {
    6802            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    6803            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    6804            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6805              :                 {
    6806            0 :                   switch (TREE_CODE (_p1))
    6807              :                     {
    6808            0 :                     case ROUND_MOD_EXPR:
    6809            0 :                       {
    6810            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    6811            0 :                         tree _q71 = TREE_OPERAND (_p1, 1);
    6812            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    6813              :                           {
    6814            0 :                             if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
    6815              :                               {
    6816            0 :                                 {
    6817            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6818            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    6819            0 :                                   if (res) return res;
    6820              :                                 }
    6821              :                               }
    6822              :                           }
    6823              :                         break;
    6824              :                       }
    6825              :                     default:;
    6826              :                     }
    6827              :                 }
    6828              :               break;
    6829              :             }
    6830              :           default:;
    6831              :           }
    6832              :         break;
    6833              :       }
    6834        31127 :     case TRUNC_MOD_EXPR:
    6835        31127 :       {
    6836        31127 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6837        31127 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6838        31127 :         switch (TREE_CODE (_p1))
    6839              :           {
    6840          119 :           case MULT_EXPR:
    6841          119 :             {
    6842          119 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6843          119 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6844          119 :               switch (TREE_CODE (_q50))
    6845              :                 {
    6846          106 :                 case TRUNC_DIV_EXPR:
    6847          106 :                   {
    6848          106 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6849          106 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6850          106 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6851              :                       {
    6852          106 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6853              :                           {
    6854           94 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6855              :                               {
    6856            0 :                                 {
    6857            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6858            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6859            0 :                                   if (res) return res;
    6860              :                                 }
    6861              :                               }
    6862              :                           }
    6863              :                       }
    6864              :                     break;
    6865              :                   }
    6866          119 :                 default:;
    6867              :                 }
    6868          119 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6869              :                 {
    6870            0 :                   switch (TREE_CODE (_q51))
    6871              :                     {
    6872            0 :                     case TRUNC_DIV_EXPR:
    6873            0 :                       {
    6874            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    6875            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    6876            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6877              :                           {
    6878            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    6879              :                               {
    6880            0 :                                 {
    6881            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6882            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR);
    6883            0 :                                   if (res) return res;
    6884              :                                 }
    6885              :                               }
    6886              :                           }
    6887              :                         break;
    6888              :                       }
    6889              :                     default:;
    6890              :                     }
    6891              :                 }
    6892              :               break;
    6893              :             }
    6894              :           default:;
    6895              :           }
    6896              :         break;
    6897              :       }
    6898            0 :     case CEIL_MOD_EXPR:
    6899            0 :       {
    6900            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6901            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6902            0 :         switch (TREE_CODE (_p1))
    6903              :           {
    6904            0 :           case MULT_EXPR:
    6905            0 :             {
    6906            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6907            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6908            0 :               switch (TREE_CODE (_q50))
    6909              :                 {
    6910            0 :                 case CEIL_DIV_EXPR:
    6911            0 :                   {
    6912            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6913            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6914            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6915              :                       {
    6916            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6917              :                           {
    6918            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6919              :                               {
    6920            0 :                                 {
    6921            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6922            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6923            0 :                                   if (res) return res;
    6924              :                                 }
    6925              :                               }
    6926              :                           }
    6927              :                       }
    6928              :                     break;
    6929              :                   }
    6930            0 :                 default:;
    6931              :                 }
    6932            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6933              :                 {
    6934            0 :                   switch (TREE_CODE (_q51))
    6935              :                     {
    6936            0 :                     case CEIL_DIV_EXPR:
    6937            0 :                       {
    6938            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    6939            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    6940            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    6941              :                           {
    6942            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    6943              :                               {
    6944            0 :                                 {
    6945            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6946            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR);
    6947            0 :                                   if (res) return res;
    6948              :                                 }
    6949              :                               }
    6950              :                           }
    6951              :                         break;
    6952              :                       }
    6953              :                     default:;
    6954              :                     }
    6955              :                 }
    6956              :               break;
    6957              :             }
    6958              :           default:;
    6959              :           }
    6960              :         break;
    6961              :       }
    6962          126 :     case FLOOR_MOD_EXPR:
    6963          126 :       {
    6964          126 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6965          126 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6966          126 :         switch (TREE_CODE (_p1))
    6967              :           {
    6968            0 :           case MULT_EXPR:
    6969            0 :             {
    6970            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6971            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6972            0 :               switch (TREE_CODE (_q50))
    6973              :                 {
    6974            0 :                 case FLOOR_DIV_EXPR:
    6975            0 :                   {
    6976            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    6977            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    6978            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6979              :                       {
    6980            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    6981              :                           {
    6982            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6983              :                               {
    6984            0 :                                 {
    6985            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6986            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    6987            0 :                                   if (res) return res;
    6988              :                                 }
    6989              :                               }
    6990              :                           }
    6991              :                       }
    6992              :                     break;
    6993              :                   }
    6994            0 :                 default:;
    6995              :                 }
    6996            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6997              :                 {
    6998            0 :                   switch (TREE_CODE (_q51))
    6999              :                     {
    7000            0 :                     case FLOOR_DIV_EXPR:
    7001            0 :                       {
    7002            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7003            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7004            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7005              :                           {
    7006            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7007              :                               {
    7008            0 :                                 {
    7009            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7010            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR);
    7011            0 :                                   if (res) return res;
    7012              :                                 }
    7013              :                               }
    7014              :                           }
    7015              :                         break;
    7016              :                       }
    7017              :                     default:;
    7018              :                     }
    7019              :                 }
    7020              :               break;
    7021              :             }
    7022              :           default:;
    7023              :           }
    7024              :         break;
    7025              :       }
    7026            0 :     case ROUND_MOD_EXPR:
    7027            0 :       {
    7028            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7029            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7030            0 :         switch (TREE_CODE (_p1))
    7031              :           {
    7032            0 :           case MULT_EXPR:
    7033            0 :             {
    7034            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7035            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7036            0 :               switch (TREE_CODE (_q50))
    7037              :                 {
    7038            0 :                 case ROUND_DIV_EXPR:
    7039            0 :                   {
    7040            0 :                     tree _q60 = TREE_OPERAND (_q50, 0);
    7041            0 :                     tree _q61 = TREE_OPERAND (_q50, 1);
    7042            0 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7043              :                       {
    7044            0 :                         if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    7045              :                           {
    7046            0 :                             if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7047              :                               {
    7048            0 :                                 {
    7049            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7050            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7051            0 :                                   if (res) return res;
    7052              :                                 }
    7053              :                               }
    7054              :                           }
    7055              :                       }
    7056              :                     break;
    7057              :                   }
    7058            0 :                 default:;
    7059              :                 }
    7060            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7061              :                 {
    7062            0 :                   switch (TREE_CODE (_q51))
    7063              :                     {
    7064            0 :                     case ROUND_DIV_EXPR:
    7065            0 :                       {
    7066            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    7067            0 :                         tree _q71 = TREE_OPERAND (_q51, 1);
    7068            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    7069              :                           {
    7070            0 :                             if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
    7071              :                               {
    7072            0 :                                 {
    7073            0 :                                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7074            0 :                                   tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR);
    7075            0 :                                   if (res) return res;
    7076              :                                 }
    7077              :                               }
    7078              :                           }
    7079              :                         break;
    7080              :                       }
    7081              :                     default:;
    7082              :                     }
    7083              :                 }
    7084              :               break;
    7085              :             }
    7086              :           default:;
    7087              :           }
    7088              :         break;
    7089              :       }
    7090     65139903 :     default:;
    7091              :     }
    7092     65139903 :   switch (TREE_CODE (_p1))
    7093              :     {
    7094      3181371 :     case REAL_CST:
    7095      3181371 :       {
    7096      3181371 :         {
    7097      3181371 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    7098      3181371 :           if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    7099              : )
    7100              :             {
    7101       117872 :               {
    7102       117872 :  tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
    7103       117872 :                   if (!TREE_OVERFLOW (tem) || !flag_trapping_math
    7104              : )
    7105              :                     {
    7106       117872 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1256;
    7107       117872 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1256;
    7108       117872 :                       {
    7109       117872 :                         tree res_op0;
    7110       117872 :                         res_op0 = captures[0];
    7111       117872 :                         tree res_op1;
    7112       117872 :                         res_op1 =  tem;
    7113       117872 :                         tree _r;
    7114       117872 :                         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    7115       117872 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 904, __FILE__, __LINE__, true);
    7116       117872 :                         return _r;
    7117              :                       }
    7118      3063499 : next_after_fail1256:;
    7119              :                     }
    7120              :               }
    7121              :             }
    7122              :         }
    7123      3063499 :         break;
    7124              :       }
    7125     65022031 :     default:;
    7126              :     }
    7127     65022031 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    7128              :     {
    7129      1585654 :       {
    7130      1585654 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    7131      1585654 :         if (SCALAR_FLOAT_TYPE_P (type)
    7132              : )
    7133              :           {
    7134          729 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1257;
    7135          729 :             {
    7136          729 :               tree res_op0;
    7137          729 :               res_op0 = captures[0];
    7138          729 :               tree res_op1;
    7139          729 :               res_op1 =  build_real (type, dconst2);
    7140          729 :               tree _r;
    7141          729 :               _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7142          729 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 905, __FILE__, __LINE__, true);
    7143          729 :               return _r;
    7144              :             }
    7145            0 : next_after_fail1257:;
    7146              :           }
    7147              :         else
    7148              :           {
    7149      1584925 :             if (INTEGRAL_TYPE_P (type)
    7150              : )
    7151              :               {
    7152      1584819 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1258;
    7153      1584819 :                 {
    7154      1584819 :                   tree res_op0;
    7155      1584819 :                   res_op0 = captures[0];
    7156      1584819 :                   tree res_op1;
    7157      1584819 :                   res_op1 =  build_int_cst (type, 2);
    7158      1584819 :                   tree _r;
    7159      1584819 :                   _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    7160      1584819 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 906, __FILE__, __LINE__, true);
    7161      1584819 :                   return _r;
    7162              :                 }
    7163            0 : next_after_fail1258:;
    7164              :               }
    7165              :           }
    7166              :       }
    7167              :     }
    7168     63436483 :   switch (TREE_CODE (_p0))
    7169              :     {
    7170          144 :     case VEC_COND_EXPR:
    7171          144 :       {
    7172          144 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7173          144 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7174          144 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7175          144 :         switch (TREE_CODE (_p1))
    7176              :           {
    7177           48 :           case VEC_COND_EXPR:
    7178           48 :             {
    7179           48 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7180           48 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7181           48 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7182           48 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7183              :                 {
    7184           24 :                   {
    7185           24 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7186           24 :                     if (VECTOR_TYPE_P (type)
    7187           24 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7188              :  || types_match (type, TREE_TYPE (captures[2]))
    7189              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7190              :  || (optimize_vectors_before_lowering_p ()
    7191              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7192              : )
    7193              :                       {
    7194           24 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1259;
    7195           24 :                         {
    7196           24 :                           tree res_op0;
    7197           24 :                           res_op0 = captures[1];
    7198           24 :                           tree res_op1;
    7199           24 :                           {
    7200           24 :                             tree _o1[2], _r1;
    7201           24 :                             _o1[0] = captures[2];
    7202           24 :                             _o1[1] = captures[5];
    7203           24 :                             _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7204           24 :                             if (EXPR_P (_r1))
    7205            0 :                               goto next_after_fail1259;
    7206           24 :                             res_op1 = _r1;
    7207              :                           }
    7208           24 :                           tree res_op2;
    7209           24 :                           {
    7210           24 :                             tree _o1[2], _r1;
    7211           24 :                             _o1[0] = captures[3];
    7212           24 :                             _o1[1] = captures[6];
    7213           24 :                             _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7214           24 :                             if (EXPR_P (_r1))
    7215            0 :                               goto next_after_fail1259;
    7216           24 :                             res_op2 = _r1;
    7217              :                           }
    7218           24 :                           tree _r;
    7219           24 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7220           24 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    7221           24 :                           return _r;
    7222              :                         }
    7223            0 : next_after_fail1259:;
    7224              :                       }
    7225              :                   }
    7226              :                 }
    7227              :               break;
    7228              :             }
    7229          120 :           default:;
    7230              :           }
    7231          120 :         {
    7232          120 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7233          120 :           if (VECTOR_TYPE_P (type)
    7234          120 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7235              :  || types_match (type, TREE_TYPE (captures[2]))
    7236              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7237              :  || (optimize_vectors_before_lowering_p ()
    7238              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7239              : )
    7240              :             {
    7241          120 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1260;
    7242          120 :               {
    7243          120 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1260;
    7244           26 :                 tree res_op0;
    7245           26 :                 res_op0 = captures[1];
    7246           26 :                 tree res_op1;
    7247           26 :                 {
    7248           26 :                   tree _o1[2], _r1;
    7249           26 :                   _o1[0] = captures[2];
    7250           26 :                   _o1[1] = unshare_expr (captures[4]);
    7251           26 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7252           26 :                   if (EXPR_P (_r1))
    7253            0 :                     goto next_after_fail1260;
    7254           26 :                   res_op1 = _r1;
    7255              :                 }
    7256           26 :                 tree res_op2;
    7257           26 :                 {
    7258           26 :                   tree _o1[2], _r1;
    7259           26 :                   _o1[0] = captures[3];
    7260           26 :                   _o1[1] = captures[4];
    7261           26 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7262           26 :                   if (EXPR_P (_r1))
    7263            0 :                     goto next_after_fail1260;
    7264           26 :                   res_op2 = _r1;
    7265              :                 }
    7266           26 :                 tree _r;
    7267           26 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7268           26 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
    7269           26 :                 return _r;
    7270              :               }
    7271           94 : next_after_fail1260:;
    7272              :             }
    7273              :         }
    7274           94 :         if (integer_each_onep (_q21))
    7275              :           {
    7276            0 :             if (integer_zerop (_q22))
    7277              :               {
    7278            0 :                 {
    7279            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21, _q22 };
    7280            0 :                   tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7281            0 :                   if (res) return res;
    7282              :                 }
    7283              :               }
    7284              :           }
    7285              :         break;
    7286              :       }
    7287     63436433 :     default:;
    7288              :     }
    7289     63436433 :   switch (TREE_CODE (_p1))
    7290              :     {
    7291           40 :     case VEC_COND_EXPR:
    7292           40 :       {
    7293           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7294           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7295           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7296           40 :         {
    7297           40 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7298           40 :           if (VECTOR_TYPE_P (type)
    7299           40 :  && (TREE_CODE_CLASS (PLUS_EXPR) != tcc_comparison
    7300              :  || types_match (type, TREE_TYPE (captures[3]))
    7301              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7302              :  || (optimize_vectors_before_lowering_p ()
    7303              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7304              : )
    7305              :             {
    7306           40 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1261;
    7307           40 :               {
    7308           40 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1261;
    7309            0 :                 tree res_op0;
    7310            0 :                 res_op0 = captures[2];
    7311            0 :                 tree res_op1;
    7312            0 :                 {
    7313            0 :                   tree _o1[2], _r1;
    7314            0 :                   _o1[0] = unshare_expr (captures[0]);
    7315            0 :                   _o1[1] = captures[3];
    7316            0 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7317            0 :                   if (EXPR_P (_r1))
    7318            0 :                     goto next_after_fail1261;
    7319            0 :                   res_op1 = _r1;
    7320              :                 }
    7321            0 :                 tree res_op2;
    7322            0 :                 {
    7323            0 :                   tree _o1[2], _r1;
    7324            0 :                   _o1[0] = captures[0];
    7325            0 :                   _o1[1] = captures[4];
    7326            0 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, type, _o1[0], _o1[1]);
    7327            0 :                   if (EXPR_P (_r1))
    7328            0 :                     goto next_after_fail1261;
    7329            0 :                   res_op2 = _r1;
    7330              :                 }
    7331            0 :                 tree _r;
    7332            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7333            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
    7334            0 :                 return _r;
    7335              :               }
    7336           40 : next_after_fail1261:;
    7337              :             }
    7338              :         }
    7339           40 :         break;
    7340              :       }
    7341       332501 :     case VIEW_CONVERT_EXPR:
    7342       332501 :       {
    7343       332501 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7344       332501 :         switch (TREE_CODE (_q30))
    7345              :           {
    7346            0 :           case VEC_COND_EXPR:
    7347            0 :             {
    7348            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7349            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7350            0 :               tree _q42 = TREE_OPERAND (_q30, 2);
    7351            0 :               if (integer_each_onep (_q41))
    7352              :                 {
    7353            0 :                   if (integer_zerop (_q42))
    7354              :                     {
    7355            0 :                       {
    7356            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
    7357            0 :                         tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7358            0 :                         if (res) return res;
    7359              :                       }
    7360              :                     }
    7361              :                 }
    7362              :               break;
    7363              :             }
    7364              :           default:;
    7365              :           }
    7366              :         break;
    7367              :       }
    7368     63436433 :     default:;
    7369              :     }
    7370     63436433 :   switch (TREE_CODE (_p0))
    7371              :     {
    7372       321083 :     case VIEW_CONVERT_EXPR:
    7373       321083 :       {
    7374       321083 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7375       321083 :         switch (TREE_CODE (_q20))
    7376              :           {
    7377            0 :           case VEC_COND_EXPR:
    7378            0 :             {
    7379            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7380            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7381            0 :               tree _q32 = TREE_OPERAND (_q20, 2);
    7382            0 :               if (integer_each_onep (_q31))
    7383              :                 {
    7384            0 :                   if (integer_zerop (_q32))
    7385              :                     {
    7386            0 :                       {
    7387            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q30, _q31, _q32 };
    7388            0 :                         tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7389            0 :                         if (res) return res;
    7390              :                       }
    7391              :                     }
    7392              :                 }
    7393              :               break;
    7394              :             }
    7395              :           default:;
    7396              :           }
    7397              :         break;
    7398              :       }
    7399     63436433 :     default:;
    7400              :     }
    7401     63436433 :   switch (TREE_CODE (_p1))
    7402              :     {
    7403           40 :     case VEC_COND_EXPR:
    7404           40 :       {
    7405           40 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7406           40 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7407           40 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7408           40 :         if (integer_each_onep (_q31))
    7409              :           {
    7410            0 :             if (integer_zerop (_q32))
    7411              :               {
    7412            0 :                 {
    7413            0 :                   tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7414            0 :                   tree res = generic_simplify_77 (loc, type, _p0, _p1, captures);
    7415            0 :                   if (res) return res;
    7416              :                 }
    7417              :               }
    7418              :           }
    7419              :         break;
    7420              :       }
    7421     63436433 :     default:;
    7422              :     }
    7423     63436433 :   switch (TREE_CODE (_p0))
    7424              :     {
    7425     17978654 :     CASE_CONVERT:
    7426     17978654 :       {
    7427     17978654 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7428     17978654 :         switch (TREE_CODE (_q20))
    7429              :           {
    7430            0 :           case LT_EXPR:
    7431            0 :             {
    7432            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7433            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7434            0 :               if (integer_minus_onep (_p1))
    7435              :                 {
    7436            0 :                   {
    7437            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7438            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    7439            0 :                     if (res) return res;
    7440              :                   }
    7441              :                 }
    7442              :               break;
    7443              :             }
    7444            0 :           case LE_EXPR:
    7445            0 :             {
    7446            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7447            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7448            0 :               if (integer_minus_onep (_p1))
    7449              :                 {
    7450            0 :                   {
    7451            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7452            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    7453            0 :                     if (res) return res;
    7454              :                   }
    7455              :                 }
    7456              :               break;
    7457              :             }
    7458           78 :           case EQ_EXPR:
    7459           78 :             {
    7460           78 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7461           78 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7462           78 :               if (integer_minus_onep (_p1))
    7463              :                 {
    7464            0 :                   {
    7465            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7466            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    7467            0 :                     if (res) return res;
    7468              :                   }
    7469              :                 }
    7470              :               break;
    7471              :             }
    7472          224 :           case NE_EXPR:
    7473          224 :             {
    7474          224 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7475          224 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7476          224 :               if (integer_minus_onep (_p1))
    7477              :                 {
    7478            0 :                   {
    7479            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7480            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    7481            0 :                     if (res) return res;
    7482              :                   }
    7483              :                 }
    7484              :               break;
    7485              :             }
    7486           12 :           case GE_EXPR:
    7487           12 :             {
    7488           12 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7489           12 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7490           12 :               if (integer_minus_onep (_p1))
    7491              :                 {
    7492            0 :                   {
    7493            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7494            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    7495            0 :                     if (res) return res;
    7496              :                   }
    7497              :                 }
    7498              :               break;
    7499              :             }
    7500            1 :           case GT_EXPR:
    7501            1 :             {
    7502            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7503            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7504            1 :               if (integer_minus_onep (_p1))
    7505              :                 {
    7506            0 :                   {
    7507            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7508            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    7509            0 :                     if (res) return res;
    7510              :                   }
    7511              :                 }
    7512              :               break;
    7513              :             }
    7514            0 :           case UNORDERED_EXPR:
    7515            0 :             {
    7516            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7517            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7518            0 :               if (integer_minus_onep (_p1))
    7519              :                 {
    7520            0 :                   {
    7521            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7522            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    7523            0 :                     if (res) return res;
    7524              :                   }
    7525              :                 }
    7526              :               break;
    7527              :             }
    7528            0 :           case ORDERED_EXPR:
    7529            0 :             {
    7530            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7531            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7532            0 :               if (integer_minus_onep (_p1))
    7533              :                 {
    7534            0 :                   {
    7535            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7536            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    7537            0 :                     if (res) return res;
    7538              :                   }
    7539              :                 }
    7540              :               break;
    7541              :             }
    7542            0 :           case UNLT_EXPR:
    7543            0 :             {
    7544            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7545            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7546            0 :               if (integer_minus_onep (_p1))
    7547              :                 {
    7548            0 :                   {
    7549            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7550            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    7551            0 :                     if (res) return res;
    7552              :                   }
    7553              :                 }
    7554              :               break;
    7555              :             }
    7556            0 :           case UNLE_EXPR:
    7557            0 :             {
    7558            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7559            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7560            0 :               if (integer_minus_onep (_p1))
    7561              :                 {
    7562            0 :                   {
    7563            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7564            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    7565            0 :                     if (res) return res;
    7566              :                   }
    7567              :                 }
    7568              :               break;
    7569              :             }
    7570            0 :           case UNGT_EXPR:
    7571            0 :             {
    7572            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7573            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7574            0 :               if (integer_minus_onep (_p1))
    7575              :                 {
    7576            0 :                   {
    7577            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7578            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    7579            0 :                     if (res) return res;
    7580              :                   }
    7581              :                 }
    7582              :               break;
    7583              :             }
    7584            0 :           case UNGE_EXPR:
    7585            0 :             {
    7586            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7587            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7588            0 :               if (integer_minus_onep (_p1))
    7589              :                 {
    7590            0 :                   {
    7591            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7592            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    7593            0 :                     if (res) return res;
    7594              :                   }
    7595              :                 }
    7596              :               break;
    7597              :             }
    7598            0 :           case UNEQ_EXPR:
    7599            0 :             {
    7600            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7601            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7602            0 :               if (integer_minus_onep (_p1))
    7603              :                 {
    7604            0 :                   {
    7605            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7606            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    7607            0 :                     if (res) return res;
    7608              :                   }
    7609              :                 }
    7610              :               break;
    7611              :             }
    7612            0 :           case LTGT_EXPR:
    7613            0 :             {
    7614            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7615            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7616            0 :               if (integer_minus_onep (_p1))
    7617              :                 {
    7618            0 :                   {
    7619            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7620            0 :                     tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    7621            0 :                     if (res) return res;
    7622              :                   }
    7623              :                 }
    7624              :               break;
    7625              :             }
    7626              :           default:;
    7627              :           }
    7628              :         break;
    7629              :       }
    7630          155 :     case LT_EXPR:
    7631          155 :       {
    7632          155 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7633          155 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7634          155 :         if (integer_minus_onep (_p1))
    7635              :           {
    7636            0 :             {
    7637            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7638            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    7639            0 :               if (res) return res;
    7640              :             }
    7641              :           }
    7642              :         break;
    7643              :       }
    7644           64 :     case LE_EXPR:
    7645           64 :       {
    7646           64 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7647           64 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7648           64 :         if (integer_minus_onep (_p1))
    7649              :           {
    7650            0 :             {
    7651            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7652            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    7653            0 :               if (res) return res;
    7654              :             }
    7655              :           }
    7656              :         break;
    7657              :       }
    7658        19285 :     case EQ_EXPR:
    7659        19285 :       {
    7660        19285 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7661        19285 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7662        19285 :         if (integer_minus_onep (_p1))
    7663              :           {
    7664           23 :             {
    7665           23 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7666           23 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    7667           23 :               if (res) return res;
    7668              :             }
    7669              :           }
    7670              :         break;
    7671              :       }
    7672         1677 :     case NE_EXPR:
    7673         1677 :       {
    7674         1677 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7675         1677 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7676         1677 :         if (integer_minus_onep (_p1))
    7677              :           {
    7678           33 :             {
    7679           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7680           33 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    7681           33 :               if (res) return res;
    7682              :             }
    7683              :           }
    7684              :         break;
    7685              :       }
    7686           35 :     case GE_EXPR:
    7687           35 :       {
    7688           35 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7689           35 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7690           35 :         if (integer_minus_onep (_p1))
    7691              :           {
    7692            0 :             {
    7693            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7694            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    7695            0 :               if (res) return res;
    7696              :             }
    7697              :           }
    7698              :         break;
    7699              :       }
    7700          103 :     case GT_EXPR:
    7701          103 :       {
    7702          103 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7703          103 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7704          103 :         if (integer_minus_onep (_p1))
    7705              :           {
    7706            0 :             {
    7707            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7708            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    7709            0 :               if (res) return res;
    7710              :             }
    7711              :           }
    7712              :         break;
    7713              :       }
    7714            0 :     case UNORDERED_EXPR:
    7715            0 :       {
    7716            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7717            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7718            0 :         if (integer_minus_onep (_p1))
    7719              :           {
    7720            0 :             {
    7721            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7722            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    7723            0 :               if (res) return res;
    7724              :             }
    7725              :           }
    7726              :         break;
    7727              :       }
    7728            0 :     case ORDERED_EXPR:
    7729            0 :       {
    7730            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7731            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7732            0 :         if (integer_minus_onep (_p1))
    7733              :           {
    7734            0 :             {
    7735            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7736            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    7737            0 :               if (res) return res;
    7738              :             }
    7739              :           }
    7740              :         break;
    7741              :       }
    7742            0 :     case UNLT_EXPR:
    7743            0 :       {
    7744            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7745            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7746            0 :         if (integer_minus_onep (_p1))
    7747              :           {
    7748            0 :             {
    7749            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7750            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    7751            0 :               if (res) return res;
    7752              :             }
    7753              :           }
    7754              :         break;
    7755              :       }
    7756            0 :     case UNLE_EXPR:
    7757            0 :       {
    7758            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7759            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7760            0 :         if (integer_minus_onep (_p1))
    7761              :           {
    7762            0 :             {
    7763            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7764            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    7765            0 :               if (res) return res;
    7766              :             }
    7767              :           }
    7768              :         break;
    7769              :       }
    7770            0 :     case UNGT_EXPR:
    7771            0 :       {
    7772            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7773            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7774            0 :         if (integer_minus_onep (_p1))
    7775              :           {
    7776            0 :             {
    7777            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7778            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    7779            0 :               if (res) return res;
    7780              :             }
    7781              :           }
    7782              :         break;
    7783              :       }
    7784            0 :     case UNGE_EXPR:
    7785            0 :       {
    7786            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7787            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7788            0 :         if (integer_minus_onep (_p1))
    7789              :           {
    7790            0 :             {
    7791            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7792            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    7793            0 :               if (res) return res;
    7794              :             }
    7795              :           }
    7796              :         break;
    7797              :       }
    7798            0 :     case UNEQ_EXPR:
    7799            0 :       {
    7800            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7801            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7802            0 :         if (integer_minus_onep (_p1))
    7803              :           {
    7804            0 :             {
    7805            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7806            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    7807            0 :               if (res) return res;
    7808              :             }
    7809              :           }
    7810              :         break;
    7811              :       }
    7812            0 :     case LTGT_EXPR:
    7813            0 :       {
    7814            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7815            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7816            0 :         if (integer_minus_onep (_p1))
    7817              :           {
    7818            0 :             {
    7819            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7820            0 :               tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    7821            0 :               if (res) return res;
    7822              :             }
    7823              :           }
    7824              :         break;
    7825              :       }
    7826       540798 :     case RDIV_EXPR:
    7827       540798 :       {
    7828       540798 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7829       540798 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7830       540798 :         switch (TREE_CODE (_p1))
    7831              :           {
    7832       115147 :           case RDIV_EXPR:
    7833       115147 :             {
    7834       115147 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7835       115147 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7836       115147 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7837              :                 {
    7838            2 :                   {
    7839            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7840            2 :                     tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    7841            2 :                     if (res) return res;
    7842              :                   }
    7843              :                 }
    7844              :               break;
    7845              :             }
    7846              :           default:;
    7847              :           }
    7848              :         break;
    7849              :       }
    7850      1699210 :     case MINUS_EXPR:
    7851      1699210 :       {
    7852      1699210 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7853      1699210 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7854      1699210 :         switch (TREE_CODE (_q20))
    7855              :           {
    7856           41 :           case CALL_EXPR:
    7857           41 :             switch (get_call_combined_fn (_q20))
    7858              :               {
    7859            4 :               case CFN_BUILT_IN_POPCOUNT:
    7860            4 :                 if (call_expr_nargs (_q20) == 1)
    7861              :     {
    7862            4 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    7863            4 :                     switch (TREE_CODE (_q21))
    7864              :                       {
    7865            4 :                       case CALL_EXPR:
    7866            4 :                         switch (get_call_combined_fn (_q21))
    7867              :                           {
    7868            4 :                           case CFN_BUILT_IN_POPCOUNT:
    7869            4 :                             if (call_expr_nargs (_q21) == 1)
    7870              :     {
    7871            4 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    7872            4 :                                 switch (TREE_CODE (_q50))
    7873              :                                   {
    7874            2 :                                   case BIT_AND_EXPR:
    7875            2 :                                     {
    7876            2 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    7877            2 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    7878            2 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    7879              :                                         {
    7880            1 :                                           switch (TREE_CODE (_p1))
    7881              :                                             {
    7882            1 :                                             case CALL_EXPR:
    7883            1 :                                               switch (get_call_combined_fn (_p1))
    7884              :                                                 {
    7885            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7886            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7887              :     {
    7888            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7889            1 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    7890              :                                                         {
    7891            1 :                                                           {
    7892            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    7893            1 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    7894            1 :                                                             if (res) return res;
    7895              :                                                           }
    7896              :                                                         }
    7897              :                                                     }
    7898              :                                                   break;
    7899              :                                                 default:;
    7900              :                                                 }
    7901              :                                               break;
    7902              :                                             default:;
    7903              :                                             }
    7904              :                                         }
    7905            1 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    7906              :                                         {
    7907            1 :                                           switch (TREE_CODE (_p1))
    7908              :                                             {
    7909            1 :                                             case CALL_EXPR:
    7910            1 :                                               switch (get_call_combined_fn (_p1))
    7911              :                                                 {
    7912            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7913            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7914              :     {
    7915            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7916            1 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    7917              :                                                         {
    7918            1 :                                                           {
    7919            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    7920            1 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    7921            1 :                                                             if (res) return res;
    7922              :                                                           }
    7923              :                                                         }
    7924              :                                                     }
    7925              :                                                   break;
    7926              :                                                 default:;
    7927              :                                                 }
    7928              :                                               break;
    7929              :                                             default:;
    7930              :                                             }
    7931              :                                         }
    7932              :                                       break;
    7933              :                                     }
    7934            2 :                                   case BIT_IOR_EXPR:
    7935            2 :                                     {
    7936            2 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    7937            2 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    7938            2 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    7939              :                                         {
    7940            1 :                                           switch (TREE_CODE (_p1))
    7941              :                                             {
    7942            1 :                                             case CALL_EXPR:
    7943            1 :                                               switch (get_call_combined_fn (_p1))
    7944              :                                                 {
    7945            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7946            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7947              :     {
    7948            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7949            1 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    7950              :                                                         {
    7951            1 :                                                           {
    7952            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    7953            1 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    7954            1 :                                                             if (res) return res;
    7955              :                                                           }
    7956              :                                                         }
    7957              :                                                     }
    7958              :                                                   break;
    7959              :                                                 default:;
    7960              :                                                 }
    7961              :                                               break;
    7962              :                                             default:;
    7963              :                                             }
    7964              :                                         }
    7965            1 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    7966              :                                         {
    7967            1 :                                           switch (TREE_CODE (_p1))
    7968              :                                             {
    7969            1 :                                             case CALL_EXPR:
    7970            1 :                                               switch (get_call_combined_fn (_p1))
    7971              :                                                 {
    7972            1 :                                                 case CFN_BUILT_IN_POPCOUNT:
    7973            1 :                                                   if (call_expr_nargs (_p1) == 1)
    7974              :     {
    7975            1 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    7976            1 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    7977              :                                                         {
    7978            1 :                                                           {
    7979            1 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    7980            1 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    7981            1 :                                                             if (res) return res;
    7982              :                                                           }
    7983              :                                                         }
    7984              :                                                     }
    7985              :                                                   break;
    7986              :                                                 default:;
    7987              :                                                 }
    7988              :                                               break;
    7989              :                                             default:;
    7990              :                                             }
    7991              :                                         }
    7992              :                                       break;
    7993              :                                     }
    7994              :                                   default:;
    7995              :                                   }
    7996              :                               }
    7997              :                             break;
    7998              :                           default:;
    7999              :                           }
    8000              :                         break;
    8001              :                       default:;
    8002              :                       }
    8003              :                   }
    8004              :                 break;
    8005            0 :               case CFN_BUILT_IN_POPCOUNTLL:
    8006            0 :                 if (call_expr_nargs (_q20) == 1)
    8007              :     {
    8008            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8009            0 :                     switch (TREE_CODE (_q21))
    8010              :                       {
    8011            0 :                       case CALL_EXPR:
    8012            0 :                         switch (get_call_combined_fn (_q21))
    8013              :                           {
    8014            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    8015            0 :                             if (call_expr_nargs (_q21) == 1)
    8016              :     {
    8017            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8018            0 :                                 switch (TREE_CODE (_q50))
    8019              :                                   {
    8020            0 :                                   case BIT_AND_EXPR:
    8021            0 :                                     {
    8022            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8023            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8024            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8025              :                                         {
    8026            0 :                                           switch (TREE_CODE (_p1))
    8027              :                                             {
    8028            0 :                                             case CALL_EXPR:
    8029            0 :                                               switch (get_call_combined_fn (_p1))
    8030              :                                                 {
    8031            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8032            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8033              :     {
    8034            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8035            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8036              :                                                         {
    8037            0 :                                                           {
    8038            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8039            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8040            0 :                                                             if (res) return res;
    8041              :                                                           }
    8042              :                                                         }
    8043              :                                                     }
    8044              :                                                   break;
    8045              :                                                 default:;
    8046              :                                                 }
    8047              :                                               break;
    8048              :                                             default:;
    8049              :                                             }
    8050              :                                         }
    8051            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8052              :                                         {
    8053            0 :                                           switch (TREE_CODE (_p1))
    8054              :                                             {
    8055            0 :                                             case CALL_EXPR:
    8056            0 :                                               switch (get_call_combined_fn (_p1))
    8057              :                                                 {
    8058            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8059            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8060              :     {
    8061            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8062            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8063              :                                                         {
    8064            0 :                                                           {
    8065            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8066            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8067            0 :                                                             if (res) return res;
    8068              :                                                           }
    8069              :                                                         }
    8070              :                                                     }
    8071              :                                                   break;
    8072              :                                                 default:;
    8073              :                                                 }
    8074              :                                               break;
    8075              :                                             default:;
    8076              :                                             }
    8077              :                                         }
    8078              :                                       break;
    8079              :                                     }
    8080            0 :                                   case BIT_IOR_EXPR:
    8081            0 :                                     {
    8082            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8083            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8084            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8085              :                                         {
    8086            0 :                                           switch (TREE_CODE (_p1))
    8087              :                                             {
    8088            0 :                                             case CALL_EXPR:
    8089            0 :                                               switch (get_call_combined_fn (_p1))
    8090              :                                                 {
    8091            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8092            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8093              :     {
    8094            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8095            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8096              :                                                         {
    8097            0 :                                                           {
    8098            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8099            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8100            0 :                                                             if (res) return res;
    8101              :                                                           }
    8102              :                                                         }
    8103              :                                                     }
    8104              :                                                   break;
    8105              :                                                 default:;
    8106              :                                                 }
    8107              :                                               break;
    8108              :                                             default:;
    8109              :                                             }
    8110              :                                         }
    8111            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8112              :                                         {
    8113            0 :                                           switch (TREE_CODE (_p1))
    8114              :                                             {
    8115            0 :                                             case CALL_EXPR:
    8116            0 :                                               switch (get_call_combined_fn (_p1))
    8117              :                                                 {
    8118            0 :                                                 case CFN_BUILT_IN_POPCOUNTLL:
    8119            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8120              :     {
    8121            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8122            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8123              :                                                         {
    8124            0 :                                                           {
    8125            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8126            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    8127            0 :                                                             if (res) return res;
    8128              :                                                           }
    8129              :                                                         }
    8130              :                                                     }
    8131              :                                                   break;
    8132              :                                                 default:;
    8133              :                                                 }
    8134              :                                               break;
    8135              :                                             default:;
    8136              :                                             }
    8137              :                                         }
    8138              :                                       break;
    8139              :                                     }
    8140              :                                   default:;
    8141              :                                   }
    8142              :                               }
    8143              :                             break;
    8144              :                           default:;
    8145              :                           }
    8146              :                         break;
    8147              :                       default:;
    8148              :                       }
    8149              :                   }
    8150              :                 break;
    8151            0 :               case CFN_POPCOUNT:
    8152            0 :                 if (call_expr_nargs (_q20) == 1)
    8153              :     {
    8154            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8155            0 :                     switch (TREE_CODE (_q21))
    8156              :                       {
    8157            0 :                       case CALL_EXPR:
    8158            0 :                         switch (get_call_combined_fn (_q21))
    8159              :                           {
    8160            0 :                           case CFN_POPCOUNT:
    8161            0 :                             if (call_expr_nargs (_q21) == 1)
    8162              :     {
    8163            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8164            0 :                                 switch (TREE_CODE (_q50))
    8165              :                                   {
    8166            0 :                                   case BIT_AND_EXPR:
    8167            0 :                                     {
    8168            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8169            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8170            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8171              :                                         {
    8172            0 :                                           switch (TREE_CODE (_p1))
    8173              :                                             {
    8174            0 :                                             case CALL_EXPR:
    8175            0 :                                               switch (get_call_combined_fn (_p1))
    8176              :                                                 {
    8177            0 :                                                 case CFN_POPCOUNT:
    8178            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8179              :     {
    8180            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8181            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8182              :                                                         {
    8183            0 :                                                           {
    8184            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8185            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    8186            0 :                                                             if (res) return res;
    8187              :                                                           }
    8188              :                                                         }
    8189              :                                                     }
    8190              :                                                   break;
    8191              :                                                 default:;
    8192              :                                                 }
    8193              :                                               break;
    8194              :                                             default:;
    8195              :                                             }
    8196              :                                         }
    8197            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8198              :                                         {
    8199            0 :                                           switch (TREE_CODE (_p1))
    8200              :                                             {
    8201            0 :                                             case CALL_EXPR:
    8202            0 :                                               switch (get_call_combined_fn (_p1))
    8203              :                                                 {
    8204            0 :                                                 case CFN_POPCOUNT:
    8205            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8206              :     {
    8207            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8208            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8209              :                                                         {
    8210            0 :                                                           {
    8211            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8212            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    8213            0 :                                                             if (res) return res;
    8214              :                                                           }
    8215              :                                                         }
    8216              :                                                     }
    8217              :                                                   break;
    8218              :                                                 default:;
    8219              :                                                 }
    8220              :                                               break;
    8221              :                                             default:;
    8222              :                                             }
    8223              :                                         }
    8224              :                                       break;
    8225              :                                     }
    8226            0 :                                   case BIT_IOR_EXPR:
    8227            0 :                                     {
    8228            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8229            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8230            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8231              :                                         {
    8232            0 :                                           switch (TREE_CODE (_p1))
    8233              :                                             {
    8234            0 :                                             case CALL_EXPR:
    8235            0 :                                               switch (get_call_combined_fn (_p1))
    8236              :                                                 {
    8237            0 :                                                 case CFN_POPCOUNT:
    8238            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8239              :     {
    8240            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8241            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8242              :                                                         {
    8243            0 :                                                           {
    8244            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8245            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    8246            0 :                                                             if (res) return res;
    8247              :                                                           }
    8248              :                                                         }
    8249              :                                                     }
    8250              :                                                   break;
    8251              :                                                 default:;
    8252              :                                                 }
    8253              :                                               break;
    8254              :                                             default:;
    8255              :                                             }
    8256              :                                         }
    8257            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8258              :                                         {
    8259            0 :                                           switch (TREE_CODE (_p1))
    8260              :                                             {
    8261            0 :                                             case CALL_EXPR:
    8262            0 :                                               switch (get_call_combined_fn (_p1))
    8263              :                                                 {
    8264            0 :                                                 case CFN_POPCOUNT:
    8265            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8266              :     {
    8267            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8268            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8269              :                                                         {
    8270            0 :                                                           {
    8271            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8272            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    8273            0 :                                                             if (res) return res;
    8274              :                                                           }
    8275              :                                                         }
    8276              :                                                     }
    8277              :                                                   break;
    8278              :                                                 default:;
    8279              :                                                 }
    8280              :                                               break;
    8281              :                                             default:;
    8282              :                                             }
    8283              :                                         }
    8284              :                                       break;
    8285              :                                     }
    8286              :                                   default:;
    8287              :                                   }
    8288              :                               }
    8289              :                             break;
    8290              :                           default:;
    8291              :                           }
    8292              :                         break;
    8293              :                       default:;
    8294              :                       }
    8295              :                   }
    8296              :                 break;
    8297            0 :               case CFN_BUILT_IN_POPCOUNTIMAX:
    8298            0 :                 if (call_expr_nargs (_q20) == 1)
    8299              :     {
    8300            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8301            0 :                     switch (TREE_CODE (_q21))
    8302              :                       {
    8303            0 :                       case CALL_EXPR:
    8304            0 :                         switch (get_call_combined_fn (_q21))
    8305              :                           {
    8306            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    8307            0 :                             if (call_expr_nargs (_q21) == 1)
    8308              :     {
    8309            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8310            0 :                                 switch (TREE_CODE (_q50))
    8311              :                                   {
    8312            0 :                                   case BIT_AND_EXPR:
    8313            0 :                                     {
    8314            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8315            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8316            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8317              :                                         {
    8318            0 :                                           switch (TREE_CODE (_p1))
    8319              :                                             {
    8320            0 :                                             case CALL_EXPR:
    8321            0 :                                               switch (get_call_combined_fn (_p1))
    8322              :                                                 {
    8323            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8324            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8325              :     {
    8326            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8327            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8328              :                                                         {
    8329            0 :                                                           {
    8330            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8331            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8332            0 :                                                             if (res) return res;
    8333              :                                                           }
    8334              :                                                         }
    8335              :                                                     }
    8336              :                                                   break;
    8337              :                                                 default:;
    8338              :                                                 }
    8339              :                                               break;
    8340              :                                             default:;
    8341              :                                             }
    8342              :                                         }
    8343            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8344              :                                         {
    8345            0 :                                           switch (TREE_CODE (_p1))
    8346              :                                             {
    8347            0 :                                             case CALL_EXPR:
    8348            0 :                                               switch (get_call_combined_fn (_p1))
    8349              :                                                 {
    8350            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8351            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8352              :     {
    8353            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8354            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8355              :                                                         {
    8356            0 :                                                           {
    8357            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8358            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8359            0 :                                                             if (res) return res;
    8360              :                                                           }
    8361              :                                                         }
    8362              :                                                     }
    8363              :                                                   break;
    8364              :                                                 default:;
    8365              :                                                 }
    8366              :                                               break;
    8367              :                                             default:;
    8368              :                                             }
    8369              :                                         }
    8370              :                                       break;
    8371              :                                     }
    8372            0 :                                   case BIT_IOR_EXPR:
    8373            0 :                                     {
    8374            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8375            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8376            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8377              :                                         {
    8378            0 :                                           switch (TREE_CODE (_p1))
    8379              :                                             {
    8380            0 :                                             case CALL_EXPR:
    8381            0 :                                               switch (get_call_combined_fn (_p1))
    8382              :                                                 {
    8383            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8384            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8385              :     {
    8386            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8387            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8388              :                                                         {
    8389            0 :                                                           {
    8390            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8391            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8392            0 :                                                             if (res) return res;
    8393              :                                                           }
    8394              :                                                         }
    8395              :                                                     }
    8396              :                                                   break;
    8397              :                                                 default:;
    8398              :                                                 }
    8399              :                                               break;
    8400              :                                             default:;
    8401              :                                             }
    8402              :                                         }
    8403            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8404              :                                         {
    8405            0 :                                           switch (TREE_CODE (_p1))
    8406              :                                             {
    8407            0 :                                             case CALL_EXPR:
    8408            0 :                                               switch (get_call_combined_fn (_p1))
    8409              :                                                 {
    8410            0 :                                                 case CFN_BUILT_IN_POPCOUNTIMAX:
    8411            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8412              :     {
    8413            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8414            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8415              :                                                         {
    8416            0 :                                                           {
    8417            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8418            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    8419            0 :                                                             if (res) return res;
    8420              :                                                           }
    8421              :                                                         }
    8422              :                                                     }
    8423              :                                                   break;
    8424              :                                                 default:;
    8425              :                                                 }
    8426              :                                               break;
    8427              :                                             default:;
    8428              :                                             }
    8429              :                                         }
    8430              :                                       break;
    8431              :                                     }
    8432              :                                   default:;
    8433              :                                   }
    8434              :                               }
    8435              :                             break;
    8436              :                           default:;
    8437              :                           }
    8438              :                         break;
    8439              :                       default:;
    8440              :                       }
    8441              :                   }
    8442              :                 break;
    8443            0 :               case CFN_BUILT_IN_POPCOUNTL:
    8444            0 :                 if (call_expr_nargs (_q20) == 1)
    8445              :     {
    8446            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    8447            0 :                     switch (TREE_CODE (_q21))
    8448              :                       {
    8449            0 :                       case CALL_EXPR:
    8450            0 :                         switch (get_call_combined_fn (_q21))
    8451              :                           {
    8452            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    8453            0 :                             if (call_expr_nargs (_q21) == 1)
    8454              :     {
    8455            0 :                                 tree _q50 = CALL_EXPR_ARG (_q21, 0);
    8456            0 :                                 switch (TREE_CODE (_q50))
    8457              :                                   {
    8458            0 :                                   case BIT_AND_EXPR:
    8459            0 :                                     {
    8460            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8461            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8462            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8463              :                                         {
    8464            0 :                                           switch (TREE_CODE (_p1))
    8465              :                                             {
    8466            0 :                                             case CALL_EXPR:
    8467            0 :                                               switch (get_call_combined_fn (_p1))
    8468              :                                                 {
    8469            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8470            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8471              :     {
    8472            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8473            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8474              :                                                         {
    8475            0 :                                                           {
    8476            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8477            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8478            0 :                                                             if (res) return res;
    8479              :                                                           }
    8480              :                                                         }
    8481              :                                                     }
    8482              :                                                   break;
    8483              :                                                 default:;
    8484              :                                                 }
    8485              :                                               break;
    8486              :                                             default:;
    8487              :                                             }
    8488              :                                         }
    8489            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8490              :                                         {
    8491            0 :                                           switch (TREE_CODE (_p1))
    8492              :                                             {
    8493            0 :                                             case CALL_EXPR:
    8494            0 :                                               switch (get_call_combined_fn (_p1))
    8495              :                                                 {
    8496            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8497            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8498              :     {
    8499            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8500            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8501              :                                                         {
    8502            0 :                                                           {
    8503            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8504            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8505            0 :                                                             if (res) return res;
    8506              :                                                           }
    8507              :                                                         }
    8508              :                                                     }
    8509              :                                                   break;
    8510              :                                                 default:;
    8511              :                                                 }
    8512              :                                               break;
    8513              :                                             default:;
    8514              :                                             }
    8515              :                                         }
    8516              :                                       break;
    8517              :                                     }
    8518            0 :                                   case BIT_IOR_EXPR:
    8519            0 :                                     {
    8520            0 :                                       tree _q60 = TREE_OPERAND (_q50, 0);
    8521            0 :                                       tree _q61 = TREE_OPERAND (_q50, 1);
    8522            0 :                                       if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    8523              :                                         {
    8524            0 :                                           switch (TREE_CODE (_p1))
    8525              :                                             {
    8526            0 :                                             case CALL_EXPR:
    8527            0 :                                               switch (get_call_combined_fn (_p1))
    8528              :                                                 {
    8529            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8530            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8531              :     {
    8532            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8533            0 :                                                       if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
    8534              :                                                         {
    8535            0 :                                                           {
    8536            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q61, _p1 };
    8537            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8538            0 :                                                             if (res) return res;
    8539              :                                                           }
    8540              :                                                         }
    8541              :                                                     }
    8542              :                                                   break;
    8543              :                                                 default:;
    8544              :                                                 }
    8545              :                                               break;
    8546              :                                             default:;
    8547              :                                             }
    8548              :                                         }
    8549            0 :                                       if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
    8550              :                                         {
    8551            0 :                                           switch (TREE_CODE (_p1))
    8552              :                                             {
    8553            0 :                                             case CALL_EXPR:
    8554            0 :                                               switch (get_call_combined_fn (_p1))
    8555              :                                                 {
    8556            0 :                                                 case CFN_BUILT_IN_POPCOUNTL:
    8557            0 :                                                   if (call_expr_nargs (_p1) == 1)
    8558              :     {
    8559            0 :                                                       tree _q90 = CALL_EXPR_ARG (_p1, 0);
    8560            0 :                                                       if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
    8561              :                                                         {
    8562            0 :                                                           {
    8563            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _q60, _p1 };
    8564            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
    8565            0 :                                                             if (res) return res;
    8566              :                                                           }
    8567              :                                                         }
    8568              :                                                     }
    8569              :                                                   break;
    8570              :                                                 default:;
    8571              :                                                 }
    8572              :                                               break;
    8573              :                                             default:;
    8574              :                                             }
    8575              :                                         }
    8576              :                                       break;
    8577              :                                     }
    8578              :                                   default:;
    8579              :                                   }
    8580              :                               }
    8581              :                             break;
    8582              :                           default:;
    8583              :                           }
    8584              :                         break;
    8585              :                       default:;
    8586              :                       }
    8587              :                   }
    8588              :                 break;
    8589              :               default:;
    8590              :               }
    8591              :             break;
    8592              :           default:;
    8593              :           }
    8594              :         break;
    8595              :       }
    8596            1 :     case VEC_PERM_EXPR:
    8597            1 :       {
    8598            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8599            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8600            1 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8601            1 :         switch (TREE_CODE (_q20))
    8602              :           {
    8603            0 :           case MULT_EXPR:
    8604            0 :             {
    8605            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8606            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8607            0 :               if (tree_vec_same_elem_p (_q31))
    8608              :                 {
    8609            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8610              :                     {
    8611            0 :                       {
    8612            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
    8613            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    8614            0 :                         if (res) return res;
    8615              :                       }
    8616              :                     }
    8617              :                 }
    8618            0 :               if (tree_vec_same_elem_p (_q30))
    8619              :                 {
    8620            0 :                   if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8621              :                     {
    8622            0 :                       {
    8623            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
    8624            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
    8625            0 :                         if (res) return res;
    8626              :                       }
    8627              :                     }
    8628              :                 }
    8629              :               break;
    8630              :             }
    8631            1 :           default:;
    8632              :           }
    8633            1 :         if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
    8634              :           {
    8635            0 :             switch (TREE_CODE (_p1))
    8636              :               {
    8637            0 :               case VEC_PERM_EXPR:
    8638            0 :                 {
    8639            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    8640            0 :                   tree _q61 = TREE_OPERAND (_p1, 1);
    8641            0 :                   tree _q62 = TREE_OPERAND (_p1, 2);
    8642            0 :                   if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    8643              :                     {
    8644            0 :                       if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8645              :                         {
    8646            0 :                           {
    8647            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    8648            0 :                             if (VECTOR_INTEGER_TYPE_P (type)
    8649              : )
    8650              :                               {
    8651            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1262;
    8652            0 :                                 {
    8653            0 :                                   tree res_op0;
    8654            0 :                                   {
    8655            0 :                                     tree _o1[2], _r1;
    8656            0 :                                     _o1[0] = captures[0];
    8657            0 :                                     _o1[1] = captures[2];
    8658            0 :                                     _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8659            0 :                                     captures[3] = _r1;
    8660              :                                   }
    8661            0 :                                   res_op0 = unshare_expr (captures[3]);
    8662            0 :                                   tree res_op1;
    8663            0 :                                   res_op1 = captures[3];
    8664            0 :                                   tree res_op2;
    8665            0 :                                   res_op2 = captures[1];
    8666            0 :                                   tree _r;
    8667            0 :                                   _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
    8668            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 902, __FILE__, __LINE__, true);
    8669            0 :                                   return _r;
    8670              :                                 }
    8671            0 : next_after_fail1262:;
    8672              :                               }
    8673              :                           }
    8674              :                         }
    8675              :                     }
    8676              :                   break;
    8677              :                 }
    8678            0 :               default:;
    8679              :               }
    8680            0 :             switch (TREE_CODE (_q22))
    8681              :               {
    8682            0 :               case VECTOR_CST:
    8683            0 :                 {
    8684            0 :                   switch (TREE_CODE (_p1))
    8685              :                     {
    8686            0 :                     case VEC_PERM_EXPR:
    8687            0 :                       {
    8688            0 :                         tree _q60 = TREE_OPERAND (_p1, 0);
    8689            0 :                         tree _q61 = TREE_OPERAND (_p1, 1);
    8690            0 :                         tree _q62 = TREE_OPERAND (_p1, 2);
    8691            0 :                         if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
    8692              :                           {
    8693            0 :                             if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8694              :                               {
    8695            0 :                                 switch (TREE_CODE (_q62))
    8696              :                                   {
    8697            0 :                                   case VECTOR_CST:
    8698            0 :                                     {
    8699            0 :                                       {
    8700            0 :                                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
    8701            0 :                                         tree res = generic_simplify_85 (loc, type, _p0, _p1, captures, PLUS_EXPR);
    8702            0 :                                         if (res) return res;
    8703              :                                       }
    8704            0 :                                       break;
    8705              :                                     }
    8706              :                                   default:;
    8707              :                                   }
    8708              :                               }
    8709              :                           }
    8710              :                         break;
    8711              :                       }
    8712              :                     default:;
    8713              :                     }
    8714              :                   break;
    8715              :                 }
    8716              :               default:;
    8717              :               }
    8718              :           }
    8719              :         break;
    8720              :       }
    8721      1441232 :     case CALL_EXPR:
    8722      1441232 :       switch (get_call_combined_fn (_p0))
    8723              :         {
    8724            9 :         case CFN_BUILT_IN_LOG:
    8725            9 :           if (call_expr_nargs (_p0) == 1)
    8726              :     {
    8727            9 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8728            9 :               switch (TREE_CODE (_p1))
    8729              :                 {
    8730            0 :                 case CALL_EXPR:
    8731            0 :                   switch (get_call_combined_fn (_p1))
    8732              :                     {
    8733            0 :                     case CFN_BUILT_IN_LOG:
    8734            0 :                       if (call_expr_nargs (_p1) == 1)
    8735              :     {
    8736            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8737            0 :                           {
    8738            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8739            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG);
    8740            0 :                             if (res) return res;
    8741              :                           }
    8742              :                         }
    8743              :                       break;
    8744              :                     default:;
    8745              :                     }
    8746              :                   break;
    8747              :                 default:;
    8748              :                 }
    8749              :             }
    8750              :           break;
    8751         2360 :         case CFN_BUILT_IN_POPCOUNT:
    8752         2360 :           if (call_expr_nargs (_p0) == 1)
    8753              :     {
    8754         2360 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8755         2360 :               switch (TREE_CODE (_p1))
    8756              :                 {
    8757           22 :                 case CALL_EXPR:
    8758           22 :                   switch (get_call_combined_fn (_p1))
    8759              :                     {
    8760           22 :                     case CFN_BUILT_IN_POPCOUNT:
    8761           22 :                       if (call_expr_nargs (_p1) == 1)
    8762              :     {
    8763           22 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8764           22 :                           {
    8765           22 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8766           22 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8767           22 :                             if (res) return res;
    8768              :                           }
    8769              :                         }
    8770              :                       break;
    8771              :                     default:;
    8772              :                     }
    8773              :                   break;
    8774         2359 :                 default:;
    8775              :                 }
    8776         2359 :               switch (TREE_CODE (_q20))
    8777              :                 {
    8778            9 :                 case BIT_AND_EXPR:
    8779            9 :                   {
    8780            9 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    8781            9 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    8782            9 :                     switch (TREE_CODE (_p1))
    8783              :                       {
    8784            9 :                       case CALL_EXPR:
    8785            9 :                         switch (get_call_combined_fn (_p1))
    8786              :                           {
    8787            9 :                           case CFN_BUILT_IN_POPCOUNT:
    8788            9 :                             if (call_expr_nargs (_p1) == 1)
    8789              :     {
    8790            9 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    8791            9 :                                 switch (TREE_CODE (_q60))
    8792              :                                   {
    8793            9 :                                   case BIT_IOR_EXPR:
    8794            9 :                                     {
    8795            9 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    8796            9 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    8797            9 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    8798              :                                         {
    8799            1 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    8800              :                                             {
    8801            1 :                                               {
    8802            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    8803            1 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8804            1 :                                                 if (res) return res;
    8805              :                                               }
    8806              :                                             }
    8807              :                                         }
    8808            8 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    8809              :                                         {
    8810            1 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    8811              :                                             {
    8812            1 :                                               {
    8813            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    8814            1 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8815            1 :                                                 if (res) return res;
    8816              :                                               }
    8817              :                                             }
    8818              :                                         }
    8819              :                                       break;
    8820              :                                     }
    8821              :                                   default:;
    8822              :                                   }
    8823              :                               }
    8824              :                             break;
    8825              :                           default:;
    8826              :                           }
    8827              :                         break;
    8828              :                       default:;
    8829              :                       }
    8830              :                     break;
    8831              :                   }
    8832            2 :                 case BIT_IOR_EXPR:
    8833            2 :                   {
    8834            2 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    8835            2 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    8836            2 :                     switch (TREE_CODE (_p1))
    8837              :                       {
    8838            2 :                       case CALL_EXPR:
    8839            2 :                         switch (get_call_combined_fn (_p1))
    8840              :                           {
    8841            2 :                           case CFN_BUILT_IN_POPCOUNT:
    8842            2 :                             if (call_expr_nargs (_p1) == 1)
    8843              :     {
    8844            2 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    8845            2 :                                 switch (TREE_CODE (_q60))
    8846              :                                   {
    8847            2 :                                   case BIT_AND_EXPR:
    8848            2 :                                     {
    8849            2 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    8850            2 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    8851            2 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    8852              :                                         {
    8853            1 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    8854              :                                             {
    8855            1 :                                               {
    8856            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    8857            1 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8858            1 :                                                 if (res) return res;
    8859              :                                               }
    8860              :                                             }
    8861              :                                         }
    8862            1 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    8863              :                                         {
    8864            1 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    8865              :                                             {
    8866            1 :                                               {
    8867            1 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    8868            1 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNT);
    8869            1 :                                                 if (res) return res;
    8870              :                                               }
    8871              :                                             }
    8872              :                                         }
    8873              :                                       break;
    8874              :                                     }
    8875              :                                   default:;
    8876              :                                   }
    8877              :                               }
    8878              :                             break;
    8879              :                           default:;
    8880              :                           }
    8881              :                         break;
    8882              :                       default:;
    8883              :                       }
    8884              :                     break;
    8885              :                   }
    8886         2355 :                 default:;
    8887              :                 }
    8888         2355 :               switch (TREE_CODE (_p1))
    8889              :                 {
    8890            0 :                 case MINUS_EXPR:
    8891            0 :                   {
    8892            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8893            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    8894            0 :                     switch (TREE_CODE (_q40))
    8895              :                       {
    8896            0 :                       case CALL_EXPR:
    8897            0 :                         switch (get_call_combined_fn (_q40))
    8898              :                           {
    8899            0 :                           case CFN_BUILT_IN_POPCOUNT:
    8900            0 :                             if (call_expr_nargs (_q40) == 1)
    8901              :     {
    8902            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    8903            0 :                                 switch (TREE_CODE (_q41))
    8904              :                                   {
    8905            0 :                                   case CALL_EXPR:
    8906            0 :                                     switch (get_call_combined_fn (_q41))
    8907              :                                       {
    8908            0 :                                       case CFN_BUILT_IN_POPCOUNT:
    8909            0 :                                         if (call_expr_nargs (_q41) == 1)
    8910              :     {
    8911            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    8912            0 :                                             switch (TREE_CODE (_q70))
    8913              :                                               {
    8914            0 :                                               case BIT_AND_EXPR:
    8915            0 :                                                 {
    8916            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    8917            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    8918            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    8919              :                                                     {
    8920            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    8921              :                                                         {
    8922            0 :                                                           {
    8923            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8924            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    8925            0 :                                                             if (res) return res;
    8926              :                                                           }
    8927              :                                                         }
    8928              :                                                     }
    8929            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    8930              :                                                     {
    8931            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    8932              :                                                         {
    8933            0 :                                                           {
    8934            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8935            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNT);
    8936            0 :                                                             if (res) return res;
    8937              :                                                           }
    8938              :                                                         }
    8939              :                                                     }
    8940              :                                                   break;
    8941              :                                                 }
    8942            0 :                                               case BIT_IOR_EXPR:
    8943            0 :                                                 {
    8944            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    8945            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    8946            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    8947              :                                                     {
    8948            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    8949              :                                                         {
    8950            0 :                                                           {
    8951            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8952            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8953            0 :                                                             if (res) return res;
    8954              :                                                           }
    8955              :                                                         }
    8956              :                                                     }
    8957            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    8958              :                                                     {
    8959            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    8960              :                                                         {
    8961            0 :                                                           {
    8962            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    8963            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNT);
    8964            0 :                                                             if (res) return res;
    8965              :                                                           }
    8966              :                                                         }
    8967              :                                                     }
    8968              :                                                   break;
    8969              :                                                 }
    8970              :                                               default:;
    8971              :                                               }
    8972              :                                           }
    8973              :                                         break;
    8974              :                                       default:;
    8975              :                                       }
    8976              :                                     break;
    8977              :                                   default:;
    8978              :                                   }
    8979              :                               }
    8980              :                             break;
    8981              :                           default:;
    8982              :                           }
    8983              :                         break;
    8984              :                       default:;
    8985              :                       }
    8986              :                     break;
    8987              :                   }
    8988              :                 default:;
    8989              :                 }
    8990              :             }
    8991              :           break;
    8992            1 :         case CFN_BUILT_IN_LOG2:
    8993            1 :           if (call_expr_nargs (_p0) == 1)
    8994              :     {
    8995            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8996            1 :               switch (TREE_CODE (_p1))
    8997              :                 {
    8998            1 :                 case CALL_EXPR:
    8999            1 :                   switch (get_call_combined_fn (_p1))
    9000              :                     {
    9001            1 :                     case CFN_BUILT_IN_LOG2:
    9002            1 :                       if (call_expr_nargs (_p1) == 1)
    9003              :     {
    9004            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9005            1 :                           {
    9006            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9007            1 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2);
    9008            1 :                             if (res) return res;
    9009              :                           }
    9010              :                         }
    9011              :                       break;
    9012              :                     default:;
    9013              :                     }
    9014              :                   break;
    9015              :                 default:;
    9016              :                 }
    9017              :             }
    9018              :           break;
    9019            0 :         case CFN_BUILT_IN_LOGF:
    9020            0 :           if (call_expr_nargs (_p0) == 1)
    9021              :     {
    9022            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9023            0 :               switch (TREE_CODE (_p1))
    9024              :                 {
    9025            0 :                 case CALL_EXPR:
    9026            0 :                   switch (get_call_combined_fn (_p1))
    9027              :                     {
    9028            0 :                     case CFN_BUILT_IN_LOGF:
    9029            0 :                       if (call_expr_nargs (_p1) == 1)
    9030              :     {
    9031            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9032            0 :                           {
    9033            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9034            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF);
    9035            0 :                             if (res) return res;
    9036              :                           }
    9037              :                         }
    9038              :                       break;
    9039              :                     default:;
    9040              :                     }
    9041              :                   break;
    9042              :                 default:;
    9043              :                 }
    9044              :             }
    9045              :           break;
    9046            0 :         case CFN_BUILT_IN_LOGL:
    9047            0 :           if (call_expr_nargs (_p0) == 1)
    9048              :     {
    9049            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9050            0 :               switch (TREE_CODE (_p1))
    9051              :                 {
    9052            0 :                 case CALL_EXPR:
    9053            0 :                   switch (get_call_combined_fn (_p1))
    9054              :                     {
    9055            0 :                     case CFN_BUILT_IN_LOGL:
    9056            0 :                       if (call_expr_nargs (_p1) == 1)
    9057              :     {
    9058            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9059            0 :                           {
    9060            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9061            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL);
    9062            0 :                             if (res) return res;
    9063              :                           }
    9064              :                         }
    9065              :                       break;
    9066              :                     default:;
    9067              :                     }
    9068              :                   break;
    9069              :                 default:;
    9070              :                 }
    9071              :             }
    9072              :           break;
    9073           27 :         case CFN_BUILT_IN_POPCOUNTLL:
    9074           27 :           if (call_expr_nargs (_p0) == 1)
    9075              :     {
    9076           27 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9077           27 :               switch (TREE_CODE (_p1))
    9078              :                 {
    9079           25 :                 case CALL_EXPR:
    9080           25 :                   switch (get_call_combined_fn (_p1))
    9081              :                     {
    9082           25 :                     case CFN_BUILT_IN_POPCOUNTLL:
    9083           25 :                       if (call_expr_nargs (_p1) == 1)
    9084              :     {
    9085           25 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9086           25 :                           {
    9087           25 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9088           25 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9089           25 :                             if (res) return res;
    9090              :                           }
    9091              :                         }
    9092              :                       break;
    9093              :                     default:;
    9094              :                     }
    9095              :                   break;
    9096           27 :                 default:;
    9097              :                 }
    9098           27 :               switch (TREE_CODE (_q20))
    9099              :                 {
    9100            0 :                 case BIT_AND_EXPR:
    9101            0 :                   {
    9102            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9103            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9104            0 :                     switch (TREE_CODE (_p1))
    9105              :                       {
    9106            0 :                       case CALL_EXPR:
    9107            0 :                         switch (get_call_combined_fn (_p1))
    9108              :                           {
    9109            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9110            0 :                             if (call_expr_nargs (_p1) == 1)
    9111              :     {
    9112            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9113            0 :                                 switch (TREE_CODE (_q60))
    9114              :                                   {
    9115            0 :                                   case BIT_IOR_EXPR:
    9116            0 :                                     {
    9117            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9118            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9119            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9120              :                                         {
    9121            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9122              :                                             {
    9123            0 :                                               {
    9124            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9125            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9126            0 :                                                 if (res) return res;
    9127              :                                               }
    9128              :                                             }
    9129              :                                         }
    9130            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9131              :                                         {
    9132            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9133              :                                             {
    9134            0 :                                               {
    9135            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9136            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9137            0 :                                                 if (res) return res;
    9138              :                                               }
    9139              :                                             }
    9140              :                                         }
    9141              :                                       break;
    9142              :                                     }
    9143              :                                   default:;
    9144              :                                   }
    9145              :                               }
    9146              :                             break;
    9147              :                           default:;
    9148              :                           }
    9149              :                         break;
    9150              :                       default:;
    9151              :                       }
    9152              :                     break;
    9153              :                   }
    9154            0 :                 case BIT_IOR_EXPR:
    9155            0 :                   {
    9156            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9157            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9158            0 :                     switch (TREE_CODE (_p1))
    9159              :                       {
    9160            0 :                       case CALL_EXPR:
    9161            0 :                         switch (get_call_combined_fn (_p1))
    9162              :                           {
    9163            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9164            0 :                             if (call_expr_nargs (_p1) == 1)
    9165              :     {
    9166            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9167            0 :                                 switch (TREE_CODE (_q60))
    9168              :                                   {
    9169            0 :                                   case BIT_AND_EXPR:
    9170            0 :                                     {
    9171            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9172            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9173            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9174              :                                         {
    9175            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9176              :                                             {
    9177            0 :                                               {
    9178            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9179            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9180            0 :                                                 if (res) return res;
    9181              :                                               }
    9182              :                                             }
    9183              :                                         }
    9184            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9185              :                                         {
    9186            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9187              :                                             {
    9188            0 :                                               {
    9189            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9190            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTLL);
    9191            0 :                                                 if (res) return res;
    9192              :                                               }
    9193              :                                             }
    9194              :                                         }
    9195              :                                       break;
    9196              :                                     }
    9197              :                                   default:;
    9198              :                                   }
    9199              :                               }
    9200              :                             break;
    9201              :                           default:;
    9202              :                           }
    9203              :                         break;
    9204              :                       default:;
    9205              :                       }
    9206              :                     break;
    9207              :                   }
    9208           27 :                 default:;
    9209              :                 }
    9210           27 :               switch (TREE_CODE (_p1))
    9211              :                 {
    9212            0 :                 case MINUS_EXPR:
    9213            0 :                   {
    9214            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9215            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9216            0 :                     switch (TREE_CODE (_q40))
    9217              :                       {
    9218            0 :                       case CALL_EXPR:
    9219            0 :                         switch (get_call_combined_fn (_q40))
    9220              :                           {
    9221            0 :                           case CFN_BUILT_IN_POPCOUNTLL:
    9222            0 :                             if (call_expr_nargs (_q40) == 1)
    9223              :     {
    9224            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9225            0 :                                 switch (TREE_CODE (_q41))
    9226              :                                   {
    9227            0 :                                   case CALL_EXPR:
    9228            0 :                                     switch (get_call_combined_fn (_q41))
    9229              :                                       {
    9230            0 :                                       case CFN_BUILT_IN_POPCOUNTLL:
    9231            0 :                                         if (call_expr_nargs (_q41) == 1)
    9232              :     {
    9233            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9234            0 :                                             switch (TREE_CODE (_q70))
    9235              :                                               {
    9236            0 :                                               case BIT_AND_EXPR:
    9237            0 :                                                 {
    9238            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9239            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9240            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9241              :                                                     {
    9242            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9243              :                                                         {
    9244            0 :                                                           {
    9245            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9246            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9247            0 :                                                             if (res) return res;
    9248              :                                                           }
    9249              :                                                         }
    9250              :                                                     }
    9251            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9252              :                                                     {
    9253            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9254              :                                                         {
    9255            0 :                                                           {
    9256            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9257            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9258            0 :                                                             if (res) return res;
    9259              :                                                           }
    9260              :                                                         }
    9261              :                                                     }
    9262              :                                                   break;
    9263              :                                                 }
    9264            0 :                                               case BIT_IOR_EXPR:
    9265            0 :                                                 {
    9266            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9267            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9268            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9269              :                                                     {
    9270            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9271              :                                                         {
    9272            0 :                                                           {
    9273            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9274            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9275            0 :                                                             if (res) return res;
    9276              :                                                           }
    9277              :                                                         }
    9278              :                                                     }
    9279            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9280              :                                                     {
    9281            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9282              :                                                         {
    9283            0 :                                                           {
    9284            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9285            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTLL);
    9286            0 :                                                             if (res) return res;
    9287              :                                                           }
    9288              :                                                         }
    9289              :                                                     }
    9290              :                                                   break;
    9291              :                                                 }
    9292              :                                               default:;
    9293              :                                               }
    9294              :                                           }
    9295              :                                         break;
    9296              :                                       default:;
    9297              :                                       }
    9298              :                                     break;
    9299              :                                   default:;
    9300              :                                   }
    9301              :                               }
    9302              :                             break;
    9303              :                           default:;
    9304              :                           }
    9305              :                         break;
    9306              :                       default:;
    9307              :                       }
    9308              :                     break;
    9309              :                   }
    9310              :                 default:;
    9311              :                 }
    9312              :             }
    9313              :           break;
    9314            0 :         case CFN_BUILT_IN_LOG10F:
    9315            0 :           if (call_expr_nargs (_p0) == 1)
    9316              :     {
    9317            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9318            0 :               switch (TREE_CODE (_p1))
    9319              :                 {
    9320            0 :                 case CALL_EXPR:
    9321            0 :                   switch (get_call_combined_fn (_p1))
    9322              :                     {
    9323            0 :                     case CFN_BUILT_IN_LOG10F:
    9324            0 :                       if (call_expr_nargs (_p1) == 1)
    9325              :     {
    9326            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9327            0 :                           {
    9328            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9329            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F);
    9330            0 :                             if (res) return res;
    9331              :                           }
    9332              :                         }
    9333              :                       break;
    9334              :                     default:;
    9335              :                     }
    9336              :                   break;
    9337              :                 default:;
    9338              :                 }
    9339              :             }
    9340              :           break;
    9341            0 :         case CFN_BUILT_IN_LOG10L:
    9342            0 :           if (call_expr_nargs (_p0) == 1)
    9343              :     {
    9344            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9345            0 :               switch (TREE_CODE (_p1))
    9346              :                 {
    9347            0 :                 case CALL_EXPR:
    9348            0 :                   switch (get_call_combined_fn (_p1))
    9349              :                     {
    9350            0 :                     case CFN_BUILT_IN_LOG10L:
    9351            0 :                       if (call_expr_nargs (_p1) == 1)
    9352              :     {
    9353            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9354            0 :                           {
    9355            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9356            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L);
    9357            0 :                             if (res) return res;
    9358              :                           }
    9359              :                         }
    9360              :                       break;
    9361              :                     default:;
    9362              :                     }
    9363              :                   break;
    9364              :                 default:;
    9365              :                 }
    9366              :             }
    9367              :           break;
    9368            7 :         case CFN_POPCOUNT:
    9369            7 :           if (call_expr_nargs (_p0) == 1)
    9370              :     {
    9371            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9372            7 :               switch (TREE_CODE (_p1))
    9373              :                 {
    9374            1 :                 case CALL_EXPR:
    9375            1 :                   switch (get_call_combined_fn (_p1))
    9376              :                     {
    9377            1 :                     case CFN_POPCOUNT:
    9378            1 :                       if (call_expr_nargs (_p1) == 1)
    9379              :     {
    9380            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9381            1 :                           {
    9382            1 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9383            1 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9384            1 :                             if (res) return res;
    9385              :                           }
    9386              :                         }
    9387              :                       break;
    9388              :                     default:;
    9389              :                     }
    9390              :                   break;
    9391            7 :                 default:;
    9392              :                 }
    9393            7 :               switch (TREE_CODE (_q20))
    9394              :                 {
    9395            0 :                 case BIT_AND_EXPR:
    9396            0 :                   {
    9397            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9398            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9399            0 :                     switch (TREE_CODE (_p1))
    9400              :                       {
    9401            0 :                       case CALL_EXPR:
    9402            0 :                         switch (get_call_combined_fn (_p1))
    9403              :                           {
    9404            0 :                           case CFN_POPCOUNT:
    9405            0 :                             if (call_expr_nargs (_p1) == 1)
    9406              :     {
    9407            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9408            0 :                                 switch (TREE_CODE (_q60))
    9409              :                                   {
    9410            0 :                                   case BIT_IOR_EXPR:
    9411            0 :                                     {
    9412            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9413            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9414            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9415              :                                         {
    9416            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9417              :                                             {
    9418            0 :                                               {
    9419            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9420            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9421            0 :                                                 if (res) return res;
    9422              :                                               }
    9423              :                                             }
    9424              :                                         }
    9425            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9426              :                                         {
    9427            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9428              :                                             {
    9429            0 :                                               {
    9430            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9431            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9432            0 :                                                 if (res) return res;
    9433              :                                               }
    9434              :                                             }
    9435              :                                         }
    9436              :                                       break;
    9437              :                                     }
    9438              :                                   default:;
    9439              :                                   }
    9440              :                               }
    9441              :                             break;
    9442              :                           default:;
    9443              :                           }
    9444              :                         break;
    9445              :                       default:;
    9446              :                       }
    9447              :                     break;
    9448              :                   }
    9449            0 :                 case BIT_IOR_EXPR:
    9450            0 :                   {
    9451            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9452            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9453            0 :                     switch (TREE_CODE (_p1))
    9454              :                       {
    9455            0 :                       case CALL_EXPR:
    9456            0 :                         switch (get_call_combined_fn (_p1))
    9457              :                           {
    9458            0 :                           case CFN_POPCOUNT:
    9459            0 :                             if (call_expr_nargs (_p1) == 1)
    9460              :     {
    9461            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9462            0 :                                 switch (TREE_CODE (_q60))
    9463              :                                   {
    9464            0 :                                   case BIT_AND_EXPR:
    9465            0 :                                     {
    9466            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9467            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9468            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9469              :                                         {
    9470            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9471              :                                             {
    9472            0 :                                               {
    9473            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9474            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9475            0 :                                                 if (res) return res;
    9476              :                                               }
    9477              :                                             }
    9478              :                                         }
    9479            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9480              :                                         {
    9481            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9482              :                                             {
    9483            0 :                                               {
    9484            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9485            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_POPCOUNT);
    9486            0 :                                                 if (res) return res;
    9487              :                                               }
    9488              :                                             }
    9489              :                                         }
    9490              :                                       break;
    9491              :                                     }
    9492              :                                   default:;
    9493              :                                   }
    9494              :                               }
    9495              :                             break;
    9496              :                           default:;
    9497              :                           }
    9498              :                         break;
    9499              :                       default:;
    9500              :                       }
    9501              :                     break;
    9502              :                   }
    9503            7 :                 default:;
    9504              :                 }
    9505            7 :               switch (TREE_CODE (_p1))
    9506              :                 {
    9507            0 :                 case MINUS_EXPR:
    9508            0 :                   {
    9509            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9510            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9511            0 :                     switch (TREE_CODE (_q40))
    9512              :                       {
    9513            0 :                       case CALL_EXPR:
    9514            0 :                         switch (get_call_combined_fn (_q40))
    9515              :                           {
    9516            0 :                           case CFN_POPCOUNT:
    9517            0 :                             if (call_expr_nargs (_q40) == 1)
    9518              :     {
    9519            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9520            0 :                                 switch (TREE_CODE (_q41))
    9521              :                                   {
    9522            0 :                                   case CALL_EXPR:
    9523            0 :                                     switch (get_call_combined_fn (_q41))
    9524              :                                       {
    9525            0 :                                       case CFN_POPCOUNT:
    9526            0 :                                         if (call_expr_nargs (_q41) == 1)
    9527              :     {
    9528            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9529            0 :                                             switch (TREE_CODE (_q70))
    9530              :                                               {
    9531            0 :                                               case BIT_AND_EXPR:
    9532            0 :                                                 {
    9533            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9534            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9535            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9536              :                                                     {
    9537            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9538              :                                                         {
    9539            0 :                                                           {
    9540            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9541            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    9542            0 :                                                             if (res) return res;
    9543              :                                                           }
    9544              :                                                         }
    9545              :                                                     }
    9546            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9547              :                                                     {
    9548            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9549              :                                                         {
    9550            0 :                                                           {
    9551            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9552            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_POPCOUNT);
    9553            0 :                                                             if (res) return res;
    9554              :                                                           }
    9555              :                                                         }
    9556              :                                                     }
    9557              :                                                   break;
    9558              :                                                 }
    9559            0 :                                               case BIT_IOR_EXPR:
    9560            0 :                                                 {
    9561            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9562            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9563            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9564              :                                                     {
    9565            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9566              :                                                         {
    9567            0 :                                                           {
    9568            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9569            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    9570            0 :                                                             if (res) return res;
    9571              :                                                           }
    9572              :                                                         }
    9573              :                                                     }
    9574            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9575              :                                                     {
    9576            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9577              :                                                         {
    9578            0 :                                                           {
    9579            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9580            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_POPCOUNT);
    9581            0 :                                                             if (res) return res;
    9582              :                                                           }
    9583              :                                                         }
    9584              :                                                     }
    9585              :                                                   break;
    9586              :                                                 }
    9587              :                                               default:;
    9588              :                                               }
    9589              :                                           }
    9590              :                                         break;
    9591              :                                       default:;
    9592              :                                       }
    9593              :                                     break;
    9594              :                                   default:;
    9595              :                                   }
    9596              :                               }
    9597              :                             break;
    9598              :                           default:;
    9599              :                           }
    9600              :                         break;
    9601              :                       default:;
    9602              :                       }
    9603              :                     break;
    9604              :                   }
    9605              :                 default:;
    9606              :                 }
    9607              :             }
    9608              :           break;
    9609            0 :         case CFN_LOG:
    9610            0 :           if (call_expr_nargs (_p0) == 1)
    9611              :     {
    9612            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9613            0 :               switch (TREE_CODE (_p1))
    9614              :                 {
    9615            0 :                 case CALL_EXPR:
    9616            0 :                   switch (get_call_combined_fn (_p1))
    9617              :                     {
    9618            0 :                     case CFN_LOG:
    9619            0 :                       if (call_expr_nargs (_p1) == 1)
    9620              :     {
    9621            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9622            0 :                           {
    9623            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9624            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_LOG);
    9625            0 :                             if (res) return res;
    9626              :                           }
    9627              :                         }
    9628              :                       break;
    9629              :                     default:;
    9630              :                     }
    9631              :                   break;
    9632              :                 default:;
    9633              :                 }
    9634              :             }
    9635              :           break;
    9636            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
    9637            0 :           if (call_expr_nargs (_p0) == 1)
    9638              :     {
    9639            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9640            0 :               switch (TREE_CODE (_p1))
    9641              :                 {
    9642            0 :                 case CALL_EXPR:
    9643            0 :                   switch (get_call_combined_fn (_p1))
    9644              :                     {
    9645            0 :                     case CFN_BUILT_IN_POPCOUNTIMAX:
    9646            0 :                       if (call_expr_nargs (_p1) == 1)
    9647              :     {
    9648            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9649            0 :                           {
    9650            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9651            0 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9652            0 :                             if (res) return res;
    9653              :                           }
    9654              :                         }
    9655              :                       break;
    9656              :                     default:;
    9657              :                     }
    9658              :                   break;
    9659            0 :                 default:;
    9660              :                 }
    9661            0 :               switch (TREE_CODE (_q20))
    9662              :                 {
    9663            0 :                 case BIT_AND_EXPR:
    9664            0 :                   {
    9665            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9666            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9667            0 :                     switch (TREE_CODE (_p1))
    9668              :                       {
    9669            0 :                       case CALL_EXPR:
    9670            0 :                         switch (get_call_combined_fn (_p1))
    9671              :                           {
    9672            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9673            0 :                             if (call_expr_nargs (_p1) == 1)
    9674              :     {
    9675            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9676            0 :                                 switch (TREE_CODE (_q60))
    9677              :                                   {
    9678            0 :                                   case BIT_IOR_EXPR:
    9679            0 :                                     {
    9680            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9681            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9682            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9683              :                                         {
    9684            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9685              :                                             {
    9686            0 :                                               {
    9687            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9688            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9689            0 :                                                 if (res) return res;
    9690              :                                               }
    9691              :                                             }
    9692              :                                         }
    9693            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9694              :                                         {
    9695            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9696              :                                             {
    9697            0 :                                               {
    9698            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9699            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9700            0 :                                                 if (res) return res;
    9701              :                                               }
    9702              :                                             }
    9703              :                                         }
    9704              :                                       break;
    9705              :                                     }
    9706              :                                   default:;
    9707              :                                   }
    9708              :                               }
    9709              :                             break;
    9710              :                           default:;
    9711              :                           }
    9712              :                         break;
    9713              :                       default:;
    9714              :                       }
    9715              :                     break;
    9716              :                   }
    9717            0 :                 case BIT_IOR_EXPR:
    9718            0 :                   {
    9719            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9720            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9721            0 :                     switch (TREE_CODE (_p1))
    9722              :                       {
    9723            0 :                       case CALL_EXPR:
    9724            0 :                         switch (get_call_combined_fn (_p1))
    9725              :                           {
    9726            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9727            0 :                             if (call_expr_nargs (_p1) == 1)
    9728              :     {
    9729            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9730            0 :                                 switch (TREE_CODE (_q60))
    9731              :                                   {
    9732            0 :                                   case BIT_AND_EXPR:
    9733            0 :                                     {
    9734            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9735            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9736            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9737              :                                         {
    9738            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9739              :                                             {
    9740            0 :                                               {
    9741            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
    9742            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9743            0 :                                                 if (res) return res;
    9744              :                                               }
    9745              :                                             }
    9746              :                                         }
    9747            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9748              :                                         {
    9749            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9750              :                                             {
    9751            0 :                                               {
    9752            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
    9753            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTIMAX);
    9754            0 :                                                 if (res) return res;
    9755              :                                               }
    9756              :                                             }
    9757              :                                         }
    9758              :                                       break;
    9759              :                                     }
    9760              :                                   default:;
    9761              :                                   }
    9762              :                               }
    9763              :                             break;
    9764              :                           default:;
    9765              :                           }
    9766              :                         break;
    9767              :                       default:;
    9768              :                       }
    9769              :                     break;
    9770              :                   }
    9771            0 :                 default:;
    9772              :                 }
    9773            0 :               switch (TREE_CODE (_p1))
    9774              :                 {
    9775            0 :                 case MINUS_EXPR:
    9776            0 :                   {
    9777            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9778            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
    9779            0 :                     switch (TREE_CODE (_q40))
    9780              :                       {
    9781            0 :                       case CALL_EXPR:
    9782            0 :                         switch (get_call_combined_fn (_q40))
    9783              :                           {
    9784            0 :                           case CFN_BUILT_IN_POPCOUNTIMAX:
    9785            0 :                             if (call_expr_nargs (_q40) == 1)
    9786              :     {
    9787            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
    9788            0 :                                 switch (TREE_CODE (_q41))
    9789              :                                   {
    9790            0 :                                   case CALL_EXPR:
    9791            0 :                                     switch (get_call_combined_fn (_q41))
    9792              :                                       {
    9793            0 :                                       case CFN_BUILT_IN_POPCOUNTIMAX:
    9794            0 :                                         if (call_expr_nargs (_q41) == 1)
    9795              :     {
    9796            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
    9797            0 :                                             switch (TREE_CODE (_q70))
    9798              :                                               {
    9799            0 :                                               case BIT_AND_EXPR:
    9800            0 :                                                 {
    9801            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9802            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9803            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9804              :                                                     {
    9805            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9806              :                                                         {
    9807            0 :                                                           {
    9808            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9809            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9810            0 :                                                             if (res) return res;
    9811              :                                                           }
    9812              :                                                         }
    9813              :                                                     }
    9814            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9815              :                                                     {
    9816            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9817              :                                                         {
    9818            0 :                                                           {
    9819            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9820            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9821            0 :                                                             if (res) return res;
    9822              :                                                           }
    9823              :                                                         }
    9824              :                                                     }
    9825              :                                                   break;
    9826              :                                                 }
    9827            0 :                                               case BIT_IOR_EXPR:
    9828            0 :                                                 {
    9829            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
    9830            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
    9831            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
    9832              :                                                     {
    9833            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
    9834              :                                                         {
    9835            0 :                                                           {
    9836            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9837            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9838            0 :                                                             if (res) return res;
    9839              :                                                           }
    9840              :                                                         }
    9841              :                                                     }
    9842            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
    9843              :                                                     {
    9844            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
    9845              :                                                         {
    9846            0 :                                                           {
    9847            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
    9848            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
    9849            0 :                                                             if (res) return res;
    9850              :                                                           }
    9851              :                                                         }
    9852              :                                                     }
    9853              :                                                   break;
    9854              :                                                 }
    9855              :                                               default:;
    9856              :                                               }
    9857              :                                           }
    9858              :                                         break;
    9859              :                                       default:;
    9860              :                                       }
    9861              :                                     break;
    9862              :                                   default:;
    9863              :                                   }
    9864              :                               }
    9865              :                             break;
    9866              :                           default:;
    9867              :                           }
    9868              :                         break;
    9869              :                       default:;
    9870              :                       }
    9871              :                     break;
    9872              :                   }
    9873              :                 default:;
    9874              :                 }
    9875              :             }
    9876              :           break;
    9877            0 :         case CFN_LOG2:
    9878            0 :           if (call_expr_nargs (_p0) == 1)
    9879              :     {
    9880            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9881            0 :               switch (TREE_CODE (_p1))
    9882              :                 {
    9883            0 :                 case CALL_EXPR:
    9884            0 :                   switch (get_call_combined_fn (_p1))
    9885              :                     {
    9886            0 :                     case CFN_LOG2:
    9887            0 :                       if (call_expr_nargs (_p1) == 1)
    9888              :     {
    9889            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9890            0 :                           {
    9891            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9892            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_LOG2);
    9893            0 :                             if (res) return res;
    9894              :                           }
    9895              :                         }
    9896              :                       break;
    9897              :                     default:;
    9898              :                     }
    9899              :                   break;
    9900              :                 default:;
    9901              :                 }
    9902              :             }
    9903              :           break;
    9904          136 :         case CFN_BUILT_IN_POPCOUNTL:
    9905          136 :           if (call_expr_nargs (_p0) == 1)
    9906              :     {
    9907          136 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9908          136 :               switch (TREE_CODE (_p1))
    9909              :                 {
    9910           69 :                 case CALL_EXPR:
    9911           69 :                   switch (get_call_combined_fn (_p1))
    9912              :                     {
    9913           69 :                     case CFN_BUILT_IN_POPCOUNTL:
    9914           69 :                       if (call_expr_nargs (_p1) == 1)
    9915              :     {
    9916           69 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9917           69 :                           {
    9918           69 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9919           69 :                             tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9920           69 :                             if (res) return res;
    9921              :                           }
    9922              :                         }
    9923              :                       break;
    9924              :                     default:;
    9925              :                     }
    9926              :                   break;
    9927          136 :                 default:;
    9928              :                 }
    9929          136 :               switch (TREE_CODE (_q20))
    9930              :                 {
    9931            0 :                 case BIT_AND_EXPR:
    9932            0 :                   {
    9933            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9934            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9935            0 :                     switch (TREE_CODE (_p1))
    9936              :                       {
    9937            0 :                       case CALL_EXPR:
    9938            0 :                         switch (get_call_combined_fn (_p1))
    9939              :                           {
    9940            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    9941            0 :                             if (call_expr_nargs (_p1) == 1)
    9942              :     {
    9943            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9944            0 :                                 switch (TREE_CODE (_q60))
    9945              :                                   {
    9946            0 :                                   case BIT_IOR_EXPR:
    9947            0 :                                     {
    9948            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
    9949            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
    9950            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
    9951              :                                         {
    9952            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    9953              :                                             {
    9954            0 :                                               {
    9955            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9956            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9957            0 :                                                 if (res) return res;
    9958              :                                               }
    9959              :                                             }
    9960              :                                         }
    9961            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
    9962              :                                         {
    9963            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
    9964              :                                             {
    9965            0 :                                               {
    9966            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60 };
    9967            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
    9968            0 :                                                 if (res) return res;
    9969              :                                               }
    9970              :                                             }
    9971              :                                         }
    9972              :                                       break;
    9973              :                                     }
    9974              :                                   default:;
    9975              :                                   }
    9976              :                               }
    9977              :                             break;
    9978              :                           default:;
    9979              :                           }
    9980              :                         break;
    9981              :                       default:;
    9982              :                       }
    9983              :                     break;
    9984              :                   }
    9985            0 :                 case BIT_IOR_EXPR:
    9986            0 :                   {
    9987            0 :                     tree _q30 = TREE_OPERAND (_q20, 0);
    9988            0 :                     tree _q31 = TREE_OPERAND (_q20, 1);
    9989            0 :                     switch (TREE_CODE (_p1))
    9990              :                       {
    9991            0 :                       case CALL_EXPR:
    9992            0 :                         switch (get_call_combined_fn (_p1))
    9993              :                           {
    9994            0 :                           case CFN_BUILT_IN_POPCOUNTL:
    9995            0 :                             if (call_expr_nargs (_p1) == 1)
    9996              :     {
    9997            0 :                                 tree _q60 = CALL_EXPR_ARG (_p1, 0);
    9998            0 :                                 switch (TREE_CODE (_q60))
    9999              :                                   {
   10000            0 :                                   case BIT_AND_EXPR:
   10001            0 :                                     {
   10002            0 :                                       tree _q70 = TREE_OPERAND (_q60, 0);
   10003            0 :                                       tree _q71 = TREE_OPERAND (_q60, 1);
   10004            0 :                                       if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
   10005              :                                         {
   10006            0 :                                           if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
   10007              :                                             {
   10008            0 :                                               {
   10009            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q30, _q31, _p0, _q20 };
   10010            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10011            0 :                                                 if (res) return res;
   10012              :                                               }
   10013              :                                             }
   10014              :                                         }
   10015            0 :                                       if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
   10016              :                                         {
   10017            0 :                                           if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
   10018              :                                             {
   10019            0 :                                               {
   10020            0 :                                                 tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q60, _q31, _q30, _p0, _q20 };
   10021            0 :                                                 tree res = generic_simplify_82 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POPCOUNTL);
   10022            0 :                                                 if (res) return res;
   10023              :                                               }
   10024              :                                             }
   10025              :                                         }
   10026              :                                       break;
   10027              :                                     }
   10028              :                                   default:;
   10029              :                                   }
   10030              :                               }
   10031              :                             break;
   10032              :                           default:;
   10033              :                           }
   10034              :                         break;
   10035              :                       default:;
   10036              :                       }
   10037              :                     break;
   10038              :                   }
   10039          136 :                 default:;
   10040              :                 }
   10041          136 :               switch (TREE_CODE (_p1))
   10042              :                 {
   10043            0 :                 case MINUS_EXPR:
   10044            0 :                   {
   10045            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   10046            0 :                     tree _q41 = TREE_OPERAND (_p1, 1);
   10047            0 :                     switch (TREE_CODE (_q40))
   10048              :                       {
   10049            0 :                       case CALL_EXPR:
   10050            0 :                         switch (get_call_combined_fn (_q40))
   10051              :                           {
   10052            0 :                           case CFN_BUILT_IN_POPCOUNTL:
   10053            0 :                             if (call_expr_nargs (_q40) == 1)
   10054              :     {
   10055            0 :                                 tree _q50 = CALL_EXPR_ARG (_q40, 0);
   10056            0 :                                 switch (TREE_CODE (_q41))
   10057              :                                   {
   10058            0 :                                   case CALL_EXPR:
   10059            0 :                                     switch (get_call_combined_fn (_q41))
   10060              :                                       {
   10061            0 :                                       case CFN_BUILT_IN_POPCOUNTL:
   10062            0 :                                         if (call_expr_nargs (_q41) == 1)
   10063              :     {
   10064            0 :                                             tree _q70 = CALL_EXPR_ARG (_q41, 0);
   10065            0 :                                             switch (TREE_CODE (_q70))
   10066              :                                               {
   10067            0 :                                               case BIT_AND_EXPR:
   10068            0 :                                                 {
   10069            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10070            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10071            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10072              :                                                     {
   10073            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10074              :                                                         {
   10075            0 :                                                           {
   10076            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10077            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10078            0 :                                                             if (res) return res;
   10079              :                                                           }
   10080              :                                                         }
   10081              :                                                     }
   10082            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10083              :                                                     {
   10084            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10085              :                                                         {
   10086            0 :                                                           {
   10087            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10088            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_AND_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10089            0 :                                                             if (res) return res;
   10090              :                                                           }
   10091              :                                                         }
   10092              :                                                     }
   10093              :                                                   break;
   10094              :                                                 }
   10095            0 :                                               case BIT_IOR_EXPR:
   10096            0 :                                                 {
   10097            0 :                                                   tree _q80 = TREE_OPERAND (_q70, 0);
   10098            0 :                                                   tree _q81 = TREE_OPERAND (_q70, 1);
   10099            0 :                                                   if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
   10100              :                                                     {
   10101            0 :                                                       if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   10102              :                                                         {
   10103            0 :                                                           {
   10104            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10105            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10106            0 :                                                             if (res) return res;
   10107              :                                                           }
   10108              :                                                         }
   10109              :                                                     }
   10110            0 :                                                   if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   10111              :                                                     {
   10112            0 :                                                       if ((_q81 == _q50 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q50, 0) && types_match (_q81, _q50)))
   10113              :                                                         {
   10114            0 :                                                           {
   10115            0 :                                                             tree captures[7] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q41, _q70, _q20, _p0 };
   10116            0 :                                                             tree res = generic_simplify_83 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10117            0 :                                                             if (res) return res;
   10118              :                                                           }
   10119              :                                                         }
   10120              :                                                     }
   10121              :                                                   break;
   10122              :                                                 }
   10123              :                                               default:;
   10124              :                                               }
   10125              :                                           }
   10126              :                                         break;
   10127              :                                       default:;
   10128              :                                       }
   10129              :                                     break;
   10130              :                                   default:;
   10131              :                                   }
   10132              :                               }
   10133              :                             break;
   10134              :                           default:;
   10135              :                           }
   10136              :                         break;
   10137              :                       default:;
   10138              :                       }
   10139              :                     break;
   10140              :                   }
   10141              :                 default:;
   10142              :                 }
   10143              :             }
   10144              :           break;
   10145            0 :         case CFN_LOG10:
   10146            0 :           if (call_expr_nargs (_p0) == 1)
   10147              :     {
   10148            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10149            0 :               switch (TREE_CODE (_p1))
   10150              :                 {
   10151            0 :                 case CALL_EXPR:
   10152            0 :                   switch (get_call_combined_fn (_p1))
   10153              :                     {
   10154            0 :                     case CFN_LOG10:
   10155            0 :                       if (call_expr_nargs (_p1) == 1)
   10156              :     {
   10157            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10158            0 :                           {
   10159            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10160            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_LOG10);
   10161            0 :                             if (res) return res;
   10162              :                           }
   10163              :                         }
   10164              :                       break;
   10165              :                     default:;
   10166              :                     }
   10167              :                   break;
   10168              :                 default:;
   10169              :                 }
   10170              :             }
   10171              :           break;
   10172            0 :         case CFN_BUILT_IN_LOG10:
   10173            0 :           if (call_expr_nargs (_p0) == 1)
   10174              :     {
   10175            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10176            0 :               switch (TREE_CODE (_p1))
   10177              :                 {
   10178            0 :                 case CALL_EXPR:
   10179            0 :                   switch (get_call_combined_fn (_p1))
   10180              :                     {
   10181            0 :                     case CFN_BUILT_IN_LOG10:
   10182            0 :                       if (call_expr_nargs (_p1) == 1)
   10183              :     {
   10184            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10185            0 :                           {
   10186            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10187            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10);
   10188            0 :                             if (res) return res;
   10189              :                           }
   10190              :                         }
   10191              :                       break;
   10192              :                     default:;
   10193              :                     }
   10194              :                   break;
   10195              :                 default:;
   10196              :                 }
   10197              :             }
   10198              :           break;
   10199            0 :         case CFN_BUILT_IN_LOG2F:
   10200            0 :           if (call_expr_nargs (_p0) == 1)
   10201              :     {
   10202            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10203            0 :               switch (TREE_CODE (_p1))
   10204              :                 {
   10205            0 :                 case CALL_EXPR:
   10206            0 :                   switch (get_call_combined_fn (_p1))
   10207              :                     {
   10208            0 :                     case CFN_BUILT_IN_LOG2F:
   10209            0 :                       if (call_expr_nargs (_p1) == 1)
   10210              :     {
   10211            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10212            0 :                           {
   10213            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10214            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F);
   10215            0 :                             if (res) return res;
   10216              :                           }
   10217              :                         }
   10218              :                       break;
   10219              :                     default:;
   10220              :                     }
   10221              :                   break;
   10222              :                 default:;
   10223              :                 }
   10224              :             }
   10225              :           break;
   10226            0 :         case CFN_BUILT_IN_LOG2L:
   10227            0 :           if (call_expr_nargs (_p0) == 1)
   10228              :     {
   10229            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10230            0 :               switch (TREE_CODE (_p1))
   10231              :                 {
   10232            0 :                 case CALL_EXPR:
   10233            0 :                   switch (get_call_combined_fn (_p1))
   10234              :                     {
   10235            0 :                     case CFN_BUILT_IN_LOG2L:
   10236            0 :                       if (call_expr_nargs (_p1) == 1)
   10237              :     {
   10238            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
   10239            0 :                           {
   10240            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10241            0 :                             tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L);
   10242            0 :                             if (res) return res;
   10243              :                           }
   10244              :                         }
   10245              :                       break;
   10246              :                     default:;
   10247              :                     }
   10248              :                   break;
   10249              :                 default:;
   10250              :                 }
   10251              :             }
   10252              :           break;
   10253              :         default:;
   10254              :         }
   10255              :       break;
   10256     63436422 :     default:;
   10257              :     }
   10258     63436422 :   switch (TREE_CODE (_p1))
   10259              :     {
   10260            0 :     case VEC_PERM_EXPR:
   10261            0 :       {
   10262            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10263            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10264            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10265            0 :         switch (TREE_CODE (_q30))
   10266              :           {
   10267            0 :           case MULT_EXPR:
   10268            0 :             {
   10269            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10270            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10271            0 :               if (tree_vec_same_elem_p (_q41))
   10272              :                 {
   10273            0 :                   if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
   10274              :                     {
   10275            0 :                       {
   10276            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q41, _q32, _p0 };
   10277            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
   10278            0 :                         if (res) return res;
   10279              :                       }
   10280              :                     }
   10281              :                 }
   10282            0 :               if (tree_vec_same_elem_p (_q40))
   10283              :                 {
   10284            0 :                   if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
   10285              :                     {
   10286            0 :                       {
   10287            0 :                         tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q40, _q32, _p0 };
   10288            0 :                         tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
   10289            0 :                         if (res) return res;
   10290              :                       }
   10291              :                     }
   10292              :                 }
   10293              :               break;
   10294              :             }
   10295              :           default:;
   10296              :           }
   10297              :         break;
   10298              :       }
   10299              :     default:;
   10300              :     }
   10301              :   return NULL_TREE;
   10302              : }
   10303              : 
   10304              : tree
   10305         1944 : generic_simplify_LROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10306              : {
   10307         1944 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10308         1944 :   if (integer_all_onesp (_p0))
   10309              :     {
   10310            0 :       {
   10311            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10312            0 :         tree res = generic_simplify_560 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10313            0 :         if (res) return res;
   10314              :       }
   10315              :     }
   10316         1944 :   if (integer_zerop (_p1))
   10317              :     {
   10318            0 :       {
   10319            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10320            0 :         tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10321            0 :         if (res) return res;
   10322              :       }
   10323              :     }
   10324         1944 :   if (integer_zerop (_p0))
   10325              :     {
   10326            0 :       {
   10327            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10328            0 :         tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10329            0 :         if (res) return res;
   10330              :       }
   10331              :     }
   10332         1944 :   switch (TREE_CODE (_p1))
   10333              :     {
   10334            0 :     case VECTOR_CST:
   10335            0 :       {
   10336            0 :         {
   10337            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10338            0 :           tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10339            0 :           if (res) return res;
   10340              :         }
   10341            0 :         break;
   10342              :       }
   10343            0 :     case CONSTRUCTOR:
   10344            0 :       {
   10345            0 :         {
   10346            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10347            0 :           tree res = generic_simplify_426 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10348            0 :           if (res) return res;
   10349              :         }
   10350            0 :         break;
   10351              :       }
   10352         1295 :     case INTEGER_CST:
   10353         1295 :       {
   10354         1295 :         {
   10355         1295 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10356         1295 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1794;
   10357         1295 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1794;
   10358         1295 :           {
   10359         1295 :             tree res_op0;
   10360         1295 :             res_op0 = captures[0];
   10361         1295 :             tree res_op1;
   10362         1295 :             res_op1 =  const_binop (MINUS_EXPR, TREE_TYPE (captures[1]),
   10363         1295 :  build_int_cst (TREE_TYPE (captures[1]),
   10364         1295 :  element_precision (type)), captures[1]);
   10365         1295 :             tree _r;
   10366         1295 :             _r = fold_build2_loc (loc, RROTATE_EXPR, type, res_op0, res_op1);
   10367         1295 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   10368         1295 :             return _r;
   10369              :           }
   10370            0 : next_after_fail1794:;
   10371              :         }
   10372            0 :         break;
   10373              :       }
   10374            0 :     case MINUS_EXPR:
   10375            0 :       {
   10376            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10377            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10378            0 :         switch (TREE_CODE (_q30))
   10379              :           {
   10380            0 :           case INTEGER_CST:
   10381            0 :             {
   10382            0 :               {
   10383            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   10384            0 :                 tree res = generic_simplify_561 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR);
   10385            0 :                 if (res) return res;
   10386              :               }
   10387            0 :               break;
   10388              :             }
   10389              :           default:;
   10390              :           }
   10391              :         break;
   10392              :       }
   10393          649 :     default:;
   10394              :     }
   10395          649 :   switch (TREE_CODE (_p0))
   10396              :     {
   10397            0 :     case LROTATE_EXPR:
   10398            0 :       {
   10399            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10400            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10401            0 :         switch (TREE_CODE (_q21))
   10402              :           {
   10403            0 :           case INTEGER_CST:
   10404            0 :             {
   10405            0 :               switch (TREE_CODE (_p1))
   10406              :                 {
   10407            0 :                 case INTEGER_CST:
   10408            0 :                   {
   10409            0 :                     {
   10410            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10411            0 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10412            0 :                       if (res) return res;
   10413              :                     }
   10414            0 :                     break;
   10415              :                   }
   10416              :                 default:;
   10417              :                 }
   10418              :               break;
   10419              :             }
   10420              :           default:;
   10421              :           }
   10422              :         break;
   10423              :       }
   10424              :     default:;
   10425              :     }
   10426              :   return NULL_TREE;
   10427              : }
   10428              : 
   10429              : tree
   10430         2797 : generic_simplify_RROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10431              : {
   10432         2797 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10433         2797 :   if (integer_all_onesp (_p0))
   10434              :     {
   10435            0 :       {
   10436            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10437            0 :         tree res = generic_simplify_560 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10438            0 :         if (res) return res;
   10439              :       }
   10440              :     }
   10441         2797 :   if (integer_zerop (_p1))
   10442              :     {
   10443            1 :       {
   10444            1 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10445            1 :         tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10446            1 :         if (res) return res;
   10447              :       }
   10448              :     }
   10449         2796 :   if (integer_zerop (_p0))
   10450              :     {
   10451            0 :       {
   10452            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10453            0 :         tree res = generic_simplify_424 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10454            0 :         if (res) return res;
   10455              :       }
   10456              :     }
   10457         2796 :   switch (TREE_CODE (_p1))
   10458              :     {
   10459            0 :     case VECTOR_CST:
   10460            0 :       {
   10461            0 :         {
   10462            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10463            0 :           tree res = generic_simplify_425 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10464            0 :           if (res) return res;
   10465              :         }
   10466            0 :         break;
   10467              :       }
   10468            0 :     case CONSTRUCTOR:
   10469            0 :       {
   10470            0 :         {
   10471            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10472            0 :           tree res = generic_simplify_426 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10473            0 :           if (res) return res;
   10474              :         }
   10475            0 :         break;
   10476              :       }
   10477            0 :     case MINUS_EXPR:
   10478            0 :       {
   10479            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10480            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10481            0 :         switch (TREE_CODE (_q30))
   10482              :           {
   10483            0 :           case INTEGER_CST:
   10484            0 :             {
   10485            0 :               {
   10486            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   10487            0 :                 tree res = generic_simplify_561 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR);
   10488            0 :                 if (res) return res;
   10489              :               }
   10490            0 :               break;
   10491              :             }
   10492              :           default:;
   10493              :           }
   10494              :         break;
   10495              :       }
   10496         2796 :     default:;
   10497              :     }
   10498         2796 :   switch (TREE_CODE (_p0))
   10499              :     {
   10500            0 :     case RROTATE_EXPR:
   10501            0 :       {
   10502            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10503            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10504            0 :         switch (TREE_CODE (_q21))
   10505              :           {
   10506            0 :           case INTEGER_CST:
   10507            0 :             {
   10508            0 :               switch (TREE_CODE (_p1))
   10509              :                 {
   10510            0 :                 case INTEGER_CST:
   10511            0 :                   {
   10512            0 :                     {
   10513            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10514            0 :                       tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10515            0 :                       if (res) return res;
   10516              :                     }
   10517            0 :                     break;
   10518              :                   }
   10519              :                 default:;
   10520              :                 }
   10521              :               break;
   10522              :             }
   10523              :           default:;
   10524              :           }
   10525              :         break;
   10526              :       }
   10527              :     default:;
   10528              :     }
   10529              :   return NULL_TREE;
   10530              : }
   10531              : 
   10532              : tree
   10533       203823 : generic_simplify_ORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10534              : {
   10535       203823 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10536       203823 :   switch (TREE_CODE (_p0))
   10537              :     {
   10538            0 :     case VEC_COND_EXPR:
   10539            0 :       {
   10540            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10541            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10542            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10543            0 :         switch (TREE_CODE (_p1))
   10544              :           {
   10545            0 :           case VEC_COND_EXPR:
   10546            0 :             {
   10547            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10548            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10549            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10550            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10551              :                 {
   10552            0 :                   {
   10553            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10554            0 :                     if (VECTOR_TYPE_P (type)
   10555            0 :  && (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
   10556            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10557            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10558              :  || (optimize_vectors_before_lowering_p ()
   10559            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10560              : )
   10561              :                       {
   10562            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1801;
   10563            0 :                         {
   10564            0 :                           tree res_op0;
   10565            0 :                           res_op0 = captures[1];
   10566            0 :                           tree res_op1;
   10567            0 :                           {
   10568            0 :                             tree _o1[2], _r1;
   10569            0 :                             _o1[0] = captures[2];
   10570            0 :                             _o1[1] = captures[5];
   10571            0 :                             _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10572            0 :                             if (EXPR_P (_r1))
   10573            0 :                               goto next_after_fail1801;
   10574            0 :                             res_op1 = _r1;
   10575              :                           }
   10576            0 :                           tree res_op2;
   10577            0 :                           {
   10578            0 :                             tree _o1[2], _r1;
   10579            0 :                             _o1[0] = captures[3];
   10580            0 :                             _o1[1] = captures[6];
   10581            0 :                             _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10582            0 :                             if (EXPR_P (_r1))
   10583            0 :                               goto next_after_fail1801;
   10584            0 :                             res_op2 = _r1;
   10585              :                           }
   10586            0 :                           tree _r;
   10587            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10588            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   10589            0 :                           return _r;
   10590              :                         }
   10591            0 : next_after_fail1801:;
   10592              :                       }
   10593              :                   }
   10594              :                 }
   10595              :               break;
   10596              :             }
   10597            0 :           default:;
   10598              :           }
   10599            0 :         {
   10600            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10601            0 :           if (VECTOR_TYPE_P (type)
   10602            0 :  && (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
   10603            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10604            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10605              :  || (optimize_vectors_before_lowering_p ()
   10606            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10607              : )
   10608              :             {
   10609            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1802;
   10610            0 :               {
   10611            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1802;
   10612            0 :                 tree res_op0;
   10613            0 :                 res_op0 = captures[1];
   10614            0 :                 tree res_op1;
   10615            0 :                 {
   10616            0 :                   tree _o1[2], _r1;
   10617            0 :                   _o1[0] = captures[2];
   10618            0 :                   _o1[1] = unshare_expr (captures[4]);
   10619            0 :                   _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10620            0 :                   if (EXPR_P (_r1))
   10621            0 :                     goto next_after_fail1802;
   10622            0 :                   res_op1 = _r1;
   10623              :                 }
   10624            0 :                 tree res_op2;
   10625            0 :                 {
   10626            0 :                   tree _o1[2], _r1;
   10627            0 :                   _o1[0] = captures[3];
   10628            0 :                   _o1[1] = captures[4];
   10629            0 :                   _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10630            0 :                   if (EXPR_P (_r1))
   10631            0 :                     goto next_after_fail1802;
   10632            0 :                   res_op2 = _r1;
   10633              :                 }
   10634            0 :                 tree _r;
   10635            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10636            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   10637            0 :                 return _r;
   10638              :               }
   10639            0 : next_after_fail1802:;
   10640              :             }
   10641              :         }
   10642            0 :         break;
   10643              :       }
   10644       203823 :     default:;
   10645              :     }
   10646       203823 :   switch (TREE_CODE (_p1))
   10647              :     {
   10648            0 :     case VEC_COND_EXPR:
   10649            0 :       {
   10650            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10651            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10652            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10653            0 :         {
   10654            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10655            0 :           if (VECTOR_TYPE_P (type)
   10656            0 :  && (TREE_CODE_CLASS (ORDERED_EXPR) != tcc_comparison
   10657            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10658            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10659              :  || (optimize_vectors_before_lowering_p ()
   10660            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10661              : )
   10662              :             {
   10663            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1803;
   10664            0 :               {
   10665            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1803;
   10666            0 :                 tree res_op0;
   10667            0 :                 res_op0 = captures[2];
   10668            0 :                 tree res_op1;
   10669            0 :                 {
   10670            0 :                   tree _o1[2], _r1;
   10671            0 :                   _o1[0] = unshare_expr (captures[0]);
   10672            0 :                   _o1[1] = captures[3];
   10673            0 :                   _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10674            0 :                   if (EXPR_P (_r1))
   10675            0 :                     goto next_after_fail1803;
   10676            0 :                   res_op1 = _r1;
   10677              :                 }
   10678            0 :                 tree res_op2;
   10679            0 :                 {
   10680            0 :                   tree _o1[2], _r1;
   10681            0 :                   _o1[0] = captures[0];
   10682            0 :                   _o1[1] = captures[4];
   10683            0 :                   _r1 = fold_build2_loc (loc, ORDERED_EXPR, type, _o1[0], _o1[1]);
   10684            0 :                   if (EXPR_P (_r1))
   10685            0 :                     goto next_after_fail1803;
   10686            0 :                   res_op2 = _r1;
   10687              :                 }
   10688            0 :                 tree _r;
   10689            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10690            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
   10691            0 :                 return _r;
   10692              :               }
   10693            0 : next_after_fail1803:;
   10694              :             }
   10695              :         }
   10696            0 :         break;
   10697              :       }
   10698       203823 :     default:;
   10699              :     }
   10700       203823 :   switch (TREE_CODE (_p0))
   10701              :     {
   10702            0 :     case FLOAT_EXPR:
   10703            0 :       {
   10704            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10705            0 :         switch (TREE_CODE (_p1))
   10706              :           {
   10707            0 :           case FLOAT_EXPR:
   10708            0 :             {
   10709            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10710            0 :               {
   10711            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10712            0 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
   10713            0 :                 if (res) return res;
   10714              :               }
   10715            0 :               break;
   10716              :             }
   10717              :           default:;
   10718              :           }
   10719              :         break;
   10720              :       }
   10721            0 :     case NEGATE_EXPR:
   10722            0 :       {
   10723            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10724            0 :         switch (TREE_CODE (_p1))
   10725              :           {
   10726            0 :           case NEGATE_EXPR:
   10727            0 :             {
   10728            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10729            0 :               {
   10730            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10731            0 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
   10732            0 :                 if (res) return res;
   10733              :               }
   10734            0 :               break;
   10735              :             }
   10736            0 :           default:;
   10737              :           }
   10738            0 :       if (CONSTANT_CLASS_P (_p1))
   10739              :         {
   10740            0 :           {
   10741            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10742            0 :             tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, ORDERED_EXPR, ORDERED_EXPR);
   10743            0 :             if (res) return res;
   10744              :           }
   10745              :         }
   10746              :         break;
   10747              :       }
   10748       203823 :     default:;
   10749              :     }
   10750       203823 :   switch (TREE_CODE (_p1))
   10751              :     {
   10752          102 :     case REAL_CST:
   10753          102 :       {
   10754          102 :         {
   10755          102 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10756          102 :           tree res = generic_simplify_567 (loc, type, _p0, _p1, captures, ORDERED_EXPR);
   10757          102 :           if (res) return res;
   10758              :         }
   10759          102 :         break;
   10760              :       }
   10761       203823 :     default:;
   10762              :     }
   10763       203823 :   {
   10764       203823 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10765       203823 :     if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
   10766              : )
   10767              :       {
   10768            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1804;
   10769            0 :         {
   10770            0 :           tree _r;
   10771            0 :           _r =  constant_boolean_node (false, type);
   10772            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10773            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10774            0 :           if (TREE_SIDE_EFFECTS (captures[1]))
   10775            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10776            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
   10777            0 :           return _r;
   10778              :         }
   10779            0 : next_after_fail1804:;
   10780              :       }
   10781              :     else
   10782              :       {
   10783       203823 :         if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
   10784              : )
   10785              :           {
   10786           10 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1805;
   10787           10 :             {
   10788           10 :               tree _r;
   10789           10 :               _r =  constant_boolean_node (true, type);
   10790           10 :               if (TREE_SIDE_EFFECTS (captures[0]))
   10791            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10792           10 :               if (TREE_SIDE_EFFECTS (captures[1]))
   10793            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10794           10 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   10795           10 :               return _r;
   10796              :             }
   10797            0 : next_after_fail1805:;
   10798              :           }
   10799              :       }
   10800              :   }
   10801       203813 :   return NULL_TREE;
   10802              : }
   10803              : 
   10804              : tree
   10805       374872 : generic_simplify_UNEQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10806              : {
   10807       374872 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10808       374872 :   switch (TREE_CODE (_p0))
   10809              :     {
   10810            0 :     case VEC_COND_EXPR:
   10811            0 :       {
   10812            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10813            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10814            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10815            0 :         switch (TREE_CODE (_p1))
   10816              :           {
   10817            0 :           case VEC_COND_EXPR:
   10818            0 :             {
   10819            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10820            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10821            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10822            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10823              :                 {
   10824            0 :                   {
   10825            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10826            0 :                     if (VECTOR_TYPE_P (type)
   10827            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10828            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10829            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10830              :  || (optimize_vectors_before_lowering_p ()
   10831            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10832              : )
   10833              :                       {
   10834            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1818;
   10835            0 :                         {
   10836            0 :                           tree res_op0;
   10837            0 :                           res_op0 = captures[1];
   10838            0 :                           tree res_op1;
   10839            0 :                           {
   10840            0 :                             tree _o1[2], _r1;
   10841            0 :                             _o1[0] = captures[2];
   10842            0 :                             _o1[1] = captures[5];
   10843            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10844            0 :                             if (EXPR_P (_r1))
   10845            0 :                               goto next_after_fail1818;
   10846            0 :                             res_op1 = _r1;
   10847              :                           }
   10848            0 :                           tree res_op2;
   10849            0 :                           {
   10850            0 :                             tree _o1[2], _r1;
   10851            0 :                             _o1[0] = captures[3];
   10852            0 :                             _o1[1] = captures[6];
   10853            0 :                             _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10854            0 :                             if (EXPR_P (_r1))
   10855            0 :                               goto next_after_fail1818;
   10856            0 :                             res_op2 = _r1;
   10857              :                           }
   10858            0 :                           tree _r;
   10859            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10860            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   10861            0 :                           return _r;
   10862              :                         }
   10863            0 : next_after_fail1818:;
   10864              :                       }
   10865              :                   }
   10866              :                 }
   10867              :               break;
   10868              :             }
   10869            0 :           default:;
   10870              :           }
   10871            0 :         {
   10872            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10873            0 :           if (VECTOR_TYPE_P (type)
   10874            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10875            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10876            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10877              :  || (optimize_vectors_before_lowering_p ()
   10878            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10879              : )
   10880              :             {
   10881            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1819;
   10882            0 :               {
   10883            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1819;
   10884            0 :                 tree res_op0;
   10885            0 :                 res_op0 = captures[1];
   10886            0 :                 tree res_op1;
   10887            0 :                 {
   10888            0 :                   tree _o1[2], _r1;
   10889            0 :                   _o1[0] = captures[2];
   10890            0 :                   _o1[1] = unshare_expr (captures[4]);
   10891            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10892            0 :                   if (EXPR_P (_r1))
   10893            0 :                     goto next_after_fail1819;
   10894            0 :                   res_op1 = _r1;
   10895              :                 }
   10896            0 :                 tree res_op2;
   10897            0 :                 {
   10898            0 :                   tree _o1[2], _r1;
   10899            0 :                   _o1[0] = captures[3];
   10900            0 :                   _o1[1] = captures[4];
   10901            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10902            0 :                   if (EXPR_P (_r1))
   10903            0 :                     goto next_after_fail1819;
   10904            0 :                   res_op2 = _r1;
   10905              :                 }
   10906            0 :                 tree _r;
   10907            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10908            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
   10909            0 :                 return _r;
   10910              :               }
   10911            0 : next_after_fail1819:;
   10912              :             }
   10913              :         }
   10914            0 :         break;
   10915              :       }
   10916       374872 :     default:;
   10917              :     }
   10918       374872 :   switch (TREE_CODE (_p1))
   10919              :     {
   10920            0 :     case VEC_COND_EXPR:
   10921            0 :       {
   10922            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10923            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10924            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10925            0 :         {
   10926            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10927            0 :           if (VECTOR_TYPE_P (type)
   10928            0 :  && (TREE_CODE_CLASS (UNEQ_EXPR) != tcc_comparison
   10929            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10930            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10931              :  || (optimize_vectors_before_lowering_p ()
   10932            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10933              : )
   10934              :             {
   10935            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1820;
   10936            0 :               {
   10937            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1820;
   10938            0 :                 tree res_op0;
   10939            0 :                 res_op0 = captures[2];
   10940            0 :                 tree res_op1;
   10941            0 :                 {
   10942            0 :                   tree _o1[2], _r1;
   10943            0 :                   _o1[0] = unshare_expr (captures[0]);
   10944            0 :                   _o1[1] = captures[3];
   10945            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10946            0 :                   if (EXPR_P (_r1))
   10947            0 :                     goto next_after_fail1820;
   10948            0 :                   res_op1 = _r1;
   10949              :                 }
   10950            0 :                 tree res_op2;
   10951            0 :                 {
   10952            0 :                   tree _o1[2], _r1;
   10953            0 :                   _o1[0] = captures[0];
   10954            0 :                   _o1[1] = captures[4];
   10955            0 :                   _r1 = fold_build2_loc (loc, UNEQ_EXPR, type, _o1[0], _o1[1]);
   10956            0 :                   if (EXPR_P (_r1))
   10957            0 :                     goto next_after_fail1820;
   10958            0 :                   res_op2 = _r1;
   10959              :                 }
   10960            0 :                 tree _r;
   10961            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10962            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 901, __FILE__, __LINE__, true);
   10963            0 :                 return _r;
   10964              :               }
   10965            0 : next_after_fail1820:;
   10966              :             }
   10967              :         }
   10968            0 :         break;
   10969              :       }
   10970       374872 :     default:;
   10971              :     }
   10972       374872 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10973              :     {
   10974            0 :       {
   10975            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10976            0 :         tree res = generic_simplify_569 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   10977            0 :         if (res) return res;
   10978              :       }
   10979              :     }
   10980       374872 :   switch (TREE_CODE (_p0))
   10981              :     {
   10982            0 :     case FLOAT_EXPR:
   10983            0 :       {
   10984            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10985            0 :         switch (TREE_CODE (_p1))
   10986              :           {
   10987            0 :           case FLOAT_EXPR:
   10988            0 :             {
   10989            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10990            0 :               {
   10991            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   10992            0 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNEQ_EXPR, EQ_EXPR);
   10993            0 :                 if (res) return res;
   10994              :               }
   10995            0 :               break;
   10996              :             }
   10997              :           default:;
   10998              :           }
   10999              :         break;
   11000              :       }
   11001            0 :     case NEGATE_EXPR:
   11002            0 :       {
   11003            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11004            0 :         switch (TREE_CODE (_p1))
   11005              :           {
   11006            0 :           case NEGATE_EXPR:
   11007            0 :             {
   11008            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11009            0 :               {
   11010            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11011            0 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   11012            0 :                 if (res) return res;
   11013              :               }
   11014            0 :               break;
   11015              :             }
   11016            0 :           default:;
   11017              :           }
   11018            0 :       if (CONSTANT_CLASS_P (_p1))
   11019              :         {
   11020            0 :           {
   11021            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11022            0 :             tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, UNEQ_EXPR, UNEQ_EXPR);
   11023            0 :             if (res) return res;
   11024              :           }
   11025              :         }
   11026              :         break;
   11027              :       }
   11028       374872 :     default:;
   11029              :     }
   11030       374872 :   switch (TREE_CODE (_p1))
   11031              :     {
   11032          154 :     case REAL_CST:
   11033          154 :       {
   11034          154 :         {
   11035          154 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11036          154 :           tree res = generic_simplify_567 (loc, type, _p0, _p1, captures, UNEQ_EXPR);
   11037          154 :           if (res) return res;
   11038              :         }
   11039          152 :         break;
   11040              :       }
   11041              :     default:;
   11042              :     }
   11043              :   return NULL_TREE;
   11044              : }
   11045              : 
   11046              : tree
   11047       464503 : 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)
   11048              : {
   11049       464503 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11050       464503 :   switch (TREE_CODE (_p0))
   11051              :     {
   11052         1418 :     case NE_EXPR:
   11053         1418 :       {
   11054         1418 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11055         1418 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11056         1418 :         if (uniform_integer_cst_p (_q21))
   11057              :           {
   11058          475 :             switch (TREE_CODE (_p1))
   11059              :               {
   11060           35 :               case PLUS_EXPR:
   11061           35 :                 {
   11062           35 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   11063           35 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   11064           35 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11065              :                     {
   11066           24 :                       if (uniform_integer_cst_p (_q51))
   11067              :                         {
   11068           24 :                           if (uniform_integer_cst_p (_p2))
   11069              :                             {
   11070           24 :                               {
   11071           24 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   11072           24 :                                 {
   11073           24 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   11074           24 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   11075           24 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   11076           24 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   11077              : )
   11078              :                                       {
   11079           18 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1915;
   11080           18 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
   11081           18 :                                         {
   11082           18 :                                           tree _r;
   11083           18 :                                           _r = captures[2];
   11084           18 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   11085            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11086           18 :                                           if (TREE_SIDE_EFFECTS (captures[4]))
   11087            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11088           18 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   11089           18 :                                           return _r;
   11090              :                                         }
   11091            6 : next_after_fail1915:;
   11092              :                                       }
   11093              :                                 }
   11094              :                               }
   11095              :                             }
   11096              :                         }
   11097              :                     }
   11098              :                   break;
   11099              :                 }
   11100              :               default:;
   11101              :               }
   11102              :           }
   11103              :         break;
   11104              :       }
   11105        21984 :     case VECTOR_CST:
   11106        21984 :       {
   11107        21984 :         {
   11108        21984 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11109        21984 :           if (integer_all_onesp (captures[0])
   11110              : )
   11111              :             {
   11112         8040 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
   11113         8040 :               {
   11114         8040 :                 tree _r;
   11115         8040 :                 _r = captures[1];
   11116         8040 :                 if (TREE_SIDE_EFFECTS (captures[0]))
   11117            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11118         8040 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11119            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11120         8040 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   11121         8040 :                 return _r;
   11122              :               }
   11123            0 : next_after_fail1916:;
   11124              :             }
   11125              :           else
   11126              :             {
   11127        13944 :               if (integer_zerop (captures[0])
   11128              : )
   11129              :                 {
   11130         2240 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
   11131         2240 :                   {
   11132         2240 :                     tree _r;
   11133         2240 :                     _r = captures[2];
   11134         2240 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   11135            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11136         2240 :                     if (TREE_SIDE_EFFECTS (captures[1]))
   11137            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11138         2240 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
   11139         2240 :                     return _r;
   11140              :                   }
   11141            0 : next_after_fail1917:;
   11142              :                 }
   11143              :             }
   11144              :         }
   11145        11704 :         break;
   11146              :       }
   11147       454205 :     default:;
   11148              :     }
   11149       454205 :   switch (TREE_CODE (_p1))
   11150              :     {
   11151       379275 :     case VECTOR_CST:
   11152       379275 :       {
   11153       379275 :         switch (TREE_CODE (_p2))
   11154              :           {
   11155       365351 :           case VECTOR_CST:
   11156       365351 :             {
   11157       365351 :               {
   11158       365351 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11159       365351 :                 if (VECTOR_BOOLEAN_TYPE_P (type)
   11160       365489 :  && types_match (type, TREE_TYPE (captures[0]))
   11161              : )
   11162              :                   {
   11163          131 :                     if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
   11164              : )
   11165              :                       {
   11166           28 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
   11167           28 :                         {
   11168           28 :                           tree res_op0;
   11169           28 :                           res_op0 = captures[0];
   11170           28 :                           tree _r;
   11171           28 :                           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
   11172           28 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   11173            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11174           28 :                           if (TREE_SIDE_EFFECTS (captures[2]))
   11175            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11176           28 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
   11177           28 :                           return _r;
   11178              :                         }
   11179            0 : next_after_fail1918:;
   11180              :                       }
   11181              :                     else
   11182              :                       {
   11183          103 :                         if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
   11184              : )
   11185              :                           {
   11186           73 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
   11187           73 :                             {
   11188           73 :                               tree _r;
   11189           73 :                               _r = captures[0];
   11190           73 :                               if (TREE_SIDE_EFFECTS (captures[1]))
   11191            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11192           73 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   11193            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11194           73 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1087, __FILE__, __LINE__, true);
   11195           73 :                               return _r;
   11196              :                             }
   11197            0 : next_after_fail1919:;
   11198              :                           }
   11199              :                       }
   11200              :                   }
   11201              :               }
   11202       365250 :               break;
   11203              :             }
   11204              :           default:;
   11205              :           }
   11206              :         break;
   11207              :       }
   11208       454104 :     default:;
   11209              :     }
   11210       454104 :   switch (TREE_CODE (_p0))
   11211              :     {
   11212         1398 :     case NE_EXPR:
   11213         1398 :       {
   11214         1398 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11215         1398 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11216         1398 :         switch (TREE_CODE (_p1))
   11217              :           {
   11218            6 :           case MINUS_EXPR:
   11219            6 :             {
   11220            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11221            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11222            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11223              :                 {
   11224            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11225              :                     {
   11226            6 :                       if (integer_zerop (_p2))
   11227              :                         {
   11228            6 :                           {
   11229            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11230            6 :                             tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures);
   11231            6 :                             if (res) return res;
   11232              :                           }
   11233              :                         }
   11234              :                     }
   11235              :                 }
   11236            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11237              :                 {
   11238            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11239              :                     {
   11240            0 :                       if (integer_zerop (_p2))
   11241              :                         {
   11242            0 :                           {
   11243            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11244            0 :                             tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures);
   11245            0 :                             if (res) return res;
   11246              :                           }
   11247              :                         }
   11248              :                     }
   11249              :                 }
   11250              :               break;
   11251              :             }
   11252            6 :           case BIT_XOR_EXPR:
   11253            6 :             {
   11254            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11255            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11256            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11257              :                 {
   11258            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11259              :                     {
   11260            6 :                       if (integer_zerop (_p2))
   11261              :                         {
   11262            6 :                           {
   11263            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11264            6 :                             tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures);
   11265            6 :                             if (res) return res;
   11266              :                           }
   11267              :                         }
   11268              :                     }
   11269              :                 }
   11270            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11271              :                 {
   11272            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11273              :                     {
   11274            0 :                       if (integer_zerop (_p2))
   11275              :                         {
   11276            0 :                           {
   11277            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11278            0 :                             tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures);
   11279            0 :                             if (res) return res;
   11280              :                           }
   11281              :                         }
   11282              :                     }
   11283              :                 }
   11284              :               break;
   11285              :             }
   11286            6 :           case BIT_AND_EXPR:
   11287            6 :             {
   11288            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11289            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11290            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11291              :                 {
   11292            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11293              :                     {
   11294            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11295              :                         {
   11296            6 :                           {
   11297            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11298            6 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11299            6 :                             if (res) return res;
   11300              :                           }
   11301              :                         }
   11302            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11303              :                         {
   11304            0 :                           {
   11305            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11306            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11307            0 :                             if (res) return res;
   11308              :                           }
   11309              :                         }
   11310              :                     }
   11311              :                 }
   11312            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11313              :                 {
   11314            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11315              :                     {
   11316            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11317              :                         {
   11318            0 :                           {
   11319            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11320            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11321            0 :                             if (res) return res;
   11322              :                           }
   11323              :                         }
   11324            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11325              :                         {
   11326            0 :                           {
   11327            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11328            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11329            0 :                             if (res) return res;
   11330              :                           }
   11331              :                         }
   11332              :                     }
   11333              :                 }
   11334              :               break;
   11335              :             }
   11336            6 :           case BIT_IOR_EXPR:
   11337            6 :             {
   11338            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11339            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11340            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11341              :                 {
   11342            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11343              :                     {
   11344            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11345              :                         {
   11346            6 :                           {
   11347            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11348            6 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11349            6 :                             if (res) return res;
   11350              :                           }
   11351              :                         }
   11352            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11353              :                         {
   11354            0 :                           {
   11355            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11356            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11357            0 :                             if (res) return res;
   11358              :                           }
   11359              :                         }
   11360              :                     }
   11361              :                 }
   11362            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11363              :                 {
   11364            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11365              :                     {
   11366            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11367              :                         {
   11368            0 :                           {
   11369            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11370            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11371            0 :                             if (res) return res;
   11372              :                           }
   11373              :                         }
   11374            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11375              :                         {
   11376            0 :                           {
   11377            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11378            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11379            0 :                             if (res) return res;
   11380              :                           }
   11381              :                         }
   11382              :                     }
   11383              :                 }
   11384              :               break;
   11385              :             }
   11386            0 :           case MIN_EXPR:
   11387            0 :             {
   11388            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11389            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11390            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11391              :                 {
   11392            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11393              :                     {
   11394            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11395              :                         {
   11396            0 :                           {
   11397            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11398            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11399            0 :                             if (res) return res;
   11400              :                           }
   11401              :                         }
   11402            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11403              :                         {
   11404            0 :                           {
   11405            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11406            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11407            0 :                             if (res) return res;
   11408              :                           }
   11409              :                         }
   11410              :                     }
   11411              :                 }
   11412            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11413              :                 {
   11414            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11415              :                     {
   11416            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11417              :                         {
   11418            0 :                           {
   11419            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11420            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11421            0 :                             if (res) return res;
   11422              :                           }
   11423              :                         }
   11424            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11425              :                         {
   11426            0 :                           {
   11427            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11428            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11429            0 :                             if (res) return res;
   11430              :                           }
   11431              :                         }
   11432              :                     }
   11433              :                 }
   11434              :               break;
   11435              :             }
   11436            0 :           case MAX_EXPR:
   11437            0 :             {
   11438            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11439            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11440            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11441              :                 {
   11442            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11443              :                     {
   11444            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11445              :                         {
   11446            0 :                           {
   11447            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11448            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11449            0 :                             if (res) return res;
   11450              :                           }
   11451              :                         }
   11452            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11453              :                         {
   11454            0 :                           {
   11455            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11456            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11457            0 :                             if (res) return res;
   11458              :                           }
   11459              :                         }
   11460              :                     }
   11461              :                 }
   11462            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11463              :                 {
   11464            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11465              :                     {
   11466            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11467              :                         {
   11468            0 :                           {
   11469            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11470            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11471            0 :                             if (res) return res;
   11472              :                           }
   11473              :                         }
   11474            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11475              :                         {
   11476            0 :                           {
   11477            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11478            0 :                             tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11479            0 :                             if (res) return res;
   11480              :                           }
   11481              :                         }
   11482              :                     }
   11483              :                 }
   11484              :               break;
   11485              :             }
   11486            6 :           case MULT_EXPR:
   11487            6 :             {
   11488            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11489            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11490            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11491              :                 {
   11492            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11493              :                     {
   11494            6 :                       switch (TREE_CODE (_p2))
   11495              :                         {
   11496            6 :                         case MULT_EXPR:
   11497            6 :                           {
   11498            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11499            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11500            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11501              :                               {
   11502            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11503              :                                   {
   11504            6 :                                     {
   11505            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11506            6 :                                       const enum tree_code op = MULT_EXPR;
   11507            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11508              : )
   11509              :                                         {
   11510            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1920;
   11511            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
   11512            6 :                                           {
   11513            6 :                                             tree _r;
   11514            6 :                                             _r = captures[2];
   11515            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   11516            6 :                                             return _r;
   11517              :                                           }
   11518            0 : next_after_fail1920:;
   11519              :                                         }
   11520              :                                     }
   11521              :                                   }
   11522              :                               }
   11523              :                             break;
   11524              :                           }
   11525              :                         default:;
   11526              :                         }
   11527              :                     }
   11528              :                 }
   11529            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11530              :                 {
   11531            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11532              :                     {
   11533            0 :                       switch (TREE_CODE (_p2))
   11534              :                         {
   11535            0 :                         case MULT_EXPR:
   11536            0 :                           {
   11537            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11538            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11539            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11540              :                               {
   11541            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11542              :                                   {
   11543            0 :                                     {
   11544            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11545            0 :                                       const enum tree_code op = MULT_EXPR;
   11546            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11547              : )
   11548              :                                         {
   11549            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1921;
   11550            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
   11551            0 :                                           {
   11552            0 :                                             tree _r;
   11553            0 :                                             _r = captures[2];
   11554            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   11555            0 :                                             return _r;
   11556              :                                           }
   11557            0 : next_after_fail1921:;
   11558              :                                         }
   11559              :                                     }
   11560              :                                   }
   11561              :                               }
   11562              :                             break;
   11563              :                           }
   11564              :                         default:;
   11565              :                         }
   11566              :                     }
   11567              :                 }
   11568              :               break;
   11569              :             }
   11570           35 :           case PLUS_EXPR:
   11571           35 :             {
   11572           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11573           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11574           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11575              :                 {
   11576           24 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11577              :                     {
   11578           12 :                       switch (TREE_CODE (_p2))
   11579              :                         {
   11580            6 :                         case PLUS_EXPR:
   11581            6 :                           {
   11582            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11583            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11584            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11585              :                               {
   11586            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11587              :                                   {
   11588            6 :                                     {
   11589            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11590            6 :                                       const enum tree_code op = PLUS_EXPR;
   11591            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11592              : )
   11593              :                                         {
   11594            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1922;
   11595            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
   11596            6 :                                           {
   11597            6 :                                             tree _r;
   11598            6 :                                             _r = captures[2];
   11599            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   11600            6 :                                             return _r;
   11601              :                                           }
   11602            0 : next_after_fail1922:;
   11603              :                                         }
   11604              :                                     }
   11605              :                                   }
   11606              :                               }
   11607              :                             break;
   11608              :                           }
   11609            6 :                         case MULT_EXPR:
   11610            6 :                           {
   11611            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11612            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11613            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11614              :                               {
   11615            6 :                                 if (uniform_integer_cst_p (_q81))
   11616              :                                   {
   11617            6 :                                     {
   11618            6 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11619            6 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11620              : )
   11621              :                                         {
   11622            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1923;
   11623            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
   11624            6 :                                           {
   11625            6 :                                             tree _r;
   11626            6 :                                             _r = captures[2];
   11627            6 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11628            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11629            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   11630            6 :                                             return _r;
   11631              :                                           }
   11632            0 : next_after_fail1923:;
   11633              :                                         }
   11634              :                                     }
   11635              :                                   }
   11636              :                               }
   11637            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11638              :                               {
   11639            0 :                                 if (uniform_integer_cst_p (_q81))
   11640              :                                   {
   11641            0 :                                     {
   11642            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11643            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11644              : )
   11645              :                                         {
   11646            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1924;
   11647            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
   11648            0 :                                           {
   11649            0 :                                             tree _r;
   11650            0 :                                             _r = captures[2];
   11651            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11652            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11653            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   11654            0 :                                             return _r;
   11655              :                                           }
   11656            0 : next_after_fail1924:;
   11657              :                                         }
   11658              :                                     }
   11659              :                                   }
   11660              :                               }
   11661              :                             break;
   11662              :                           }
   11663              :                         default:;
   11664              :                         }
   11665              :                     }
   11666              :                 }
   11667           23 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11668              :                 {
   11669            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11670              :                     {
   11671            0 :                       switch (TREE_CODE (_p2))
   11672              :                         {
   11673            0 :                         case PLUS_EXPR:
   11674            0 :                           {
   11675            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11676            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11677            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11678              :                               {
   11679            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11680              :                                   {
   11681            0 :                                     {
   11682            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11683            0 :                                       const enum tree_code op = PLUS_EXPR;
   11684            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11685              : )
   11686              :                                         {
   11687            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1925;
   11688            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
   11689            0 :                                           {
   11690            0 :                                             tree _r;
   11691            0 :                                             _r = captures[2];
   11692            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   11693            0 :                                             return _r;
   11694              :                                           }
   11695            0 : next_after_fail1925:;
   11696              :                                         }
   11697              :                                     }
   11698              :                                   }
   11699              :                               }
   11700              :                             break;
   11701              :                           }
   11702            0 :                         case MULT_EXPR:
   11703            0 :                           {
   11704            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11705            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11706            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11707              :                               {
   11708            0 :                                 if (uniform_integer_cst_p (_q81))
   11709              :                                   {
   11710            0 :                                     {
   11711            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11712            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11713              : )
   11714              :                                         {
   11715            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1926;
   11716            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
   11717            0 :                                           {
   11718            0 :                                             tree _r;
   11719            0 :                                             _r = captures[2];
   11720            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11721            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11722            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   11723            0 :                                             return _r;
   11724              :                                           }
   11725            0 : next_after_fail1926:;
   11726              :                                         }
   11727              :                                     }
   11728              :                                   }
   11729              :                               }
   11730            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11731              :                               {
   11732            0 :                                 if (uniform_integer_cst_p (_q81))
   11733              :                                   {
   11734            0 :                                     {
   11735            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11736            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11737              : )
   11738              :                                         {
   11739            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1927;
   11740            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
   11741            0 :                                           {
   11742            0 :                                             tree _r;
   11743            0 :                                             _r = captures[2];
   11744            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11745            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11746            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   11747            0 :                                             return _r;
   11748              :                                           }
   11749            0 : next_after_fail1927:;
   11750              :                                         }
   11751              :                                     }
   11752              :                                   }
   11753              :                               }
   11754              :                             break;
   11755              :                           }
   11756              :                         default:;
   11757              :                         }
   11758              :                     }
   11759              :                 }
   11760              :               break;
   11761              :             }
   11762              :           default:;
   11763              :           }
   11764              :         break;
   11765              :       }
   11766       454062 :     default:;
   11767              :     }
   11768       454062 :   switch (TREE_CODE (_p1))
   11769              :     {
   11770            6 :     case VEC_COND_EXPR:
   11771            6 :       {
   11772            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11773            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11774            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11775            6 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11776              :           {
   11777            0 :             {
   11778            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   11779            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1928;
   11780            0 :               {
   11781            0 :                 tree res_op0;
   11782            0 :                 res_op0 = captures[0];
   11783            0 :                 tree res_op1;
   11784            0 :                 res_op1 = captures[1];
   11785            0 :                 tree res_op2;
   11786            0 :                 res_op2 = captures[3];
   11787            0 :                 tree _r;
   11788            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11789            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11790            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11791            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   11792            0 :                 return _r;
   11793              :               }
   11794            0 : next_after_fail1928:;
   11795              :             }
   11796              :           }
   11797              :         break;
   11798              :       }
   11799       454062 :     default:;
   11800              :     }
   11801       454062 :   switch (TREE_CODE (_p2))
   11802              :     {
   11803            3 :     case VEC_COND_EXPR:
   11804            3 :       {
   11805            3 :         tree _q40 = TREE_OPERAND (_p2, 0);
   11806            3 :         tree _q41 = TREE_OPERAND (_p2, 1);
   11807            3 :         tree _q42 = TREE_OPERAND (_p2, 2);
   11808            3 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   11809              :           {
   11810            0 :             {
   11811            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   11812            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1929;
   11813            0 :               {
   11814            0 :                 tree res_op0;
   11815            0 :                 res_op0 = captures[0];
   11816            0 :                 tree res_op1;
   11817            0 :                 res_op1 = captures[1];
   11818            0 :                 tree res_op2;
   11819            0 :                 res_op2 = captures[3];
   11820            0 :                 tree _r;
   11821            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11822            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11823            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11824            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   11825            0 :                 return _r;
   11826              :               }
   11827            0 : next_after_fail1929:;
   11828              :             }
   11829              :           }
   11830            3 :         {
   11831            3 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   11832            3 :           if (inverse_conditions_p (captures[0], captures[2])
   11833              : )
   11834              :             {
   11835            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1930;
   11836            0 :               {
   11837            0 :                 tree res_op0;
   11838            0 :                 res_op0 = captures[0];
   11839            0 :                 tree res_op1;
   11840            0 :                 res_op1 = captures[1];
   11841            0 :                 tree res_op2;
   11842            0 :                 res_op2 = captures[3];
   11843            0 :                 tree _r;
   11844            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11845            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11846            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11847            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
   11848            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11849            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   11850            0 :                 return _r;
   11851              :               }
   11852            0 : next_after_fail1930:;
   11853              :             }
   11854              :         }
   11855            3 :         break;
   11856              :       }
   11857       454062 :     default:;
   11858              :     }
   11859       454062 :   switch (TREE_CODE (_p1))
   11860              :     {
   11861            6 :     case VEC_COND_EXPR:
   11862            6 :       {
   11863            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11864            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11865            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11866            6 :         {
   11867            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   11868            6 :           if (inverse_conditions_p (captures[0], captures[1])
   11869              : )
   11870              :             {
   11871            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1931;
   11872            0 :               {
   11873            0 :                 tree res_op0;
   11874            0 :                 res_op0 = captures[0];
   11875            0 :                 tree res_op1;
   11876            0 :                 res_op1 = captures[3];
   11877            0 :                 tree res_op2;
   11878            0 :                 res_op2 = captures[4];
   11879            0 :                 tree _r;
   11880            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11881            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
   11882            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11883            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11884            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11885            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   11886            0 :                 return _r;
   11887              :               }
   11888            0 : next_after_fail1931:;
   11889              :             }
   11890              :         }
   11891            6 :         break;
   11892              :       }
   11893       454062 :     default:;
   11894              :     }
   11895       454062 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   11896              :     {
   11897           36 :       {
   11898           36 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11899           36 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1932;
   11900           36 :         {
   11901           36 :           tree _r;
   11902           36 :           _r = captures[1];
   11903           36 :           if (TREE_SIDE_EFFECTS (captures[0]))
   11904            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11905           36 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   11906           36 :           return _r;
   11907              :         }
   11908            0 : next_after_fail1932:;
   11909              :       }
   11910              :     }
   11911       454026 :   switch (TREE_CODE (_p0))
   11912              :     {
   11913        67809 :     case EQ_EXPR:
   11914        67809 :       {
   11915        67809 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11916        67809 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11917        67809 :         if (zerop (_q21))
   11918              :           {
   11919         1597 :             switch (TREE_CODE (_p2))
   11920              :               {
   11921            0 :               case NEGATE_EXPR:
   11922            0 :                 {
   11923            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   11924            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   11925              :                     {
   11926            0 :                       {
   11927            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   11928            0 :                         const enum tree_code cmp = EQ_EXPR;
   11929            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   11930            0 :  && bitwise_equal_p (captures[0], captures[1])
   11931              : )
   11932              :                           {
   11933            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1933;
   11934            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1933;
   11935            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1933;
   11936            0 :                             {
   11937            0 :                               tree _r;
   11938            0 :                               _r = captures[2];
   11939            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   11940            0 :                               return _r;
   11941              :                             }
   11942            0 : next_after_fail1933:;
   11943              :                           }
   11944              :                       }
   11945              :                     }
   11946              :                   break;
   11947              :                 }
   11948         1597 :               default:;
   11949              :               }
   11950         1597 :             if (zerop (_p1))
   11951              :               {
   11952           18 :                 switch (TREE_CODE (_p2))
   11953              :                   {
   11954            0 :                   case NEGATE_EXPR:
   11955            0 :                     {
   11956            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   11957            0 :                       {
   11958            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   11959            0 :                         const enum tree_code cmp = EQ_EXPR;
   11960            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   11961            0 :  && bitwise_equal_p (captures[0], captures[2])
   11962              : )
   11963              :                           {
   11964            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1934;
   11965            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1934;
   11966            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1934;
   11967            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1934;
   11968            0 :                             {
   11969            0 :                               tree _r;
   11970            0 :                               _r = captures[1];
   11971            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   11972            0 :                               return _r;
   11973              :                             }
   11974            0 : next_after_fail1934:;
   11975              :                           }
   11976              :                       }
   11977            0 :                       break;
   11978              :                     }
   11979              :                   default:;
   11980              :                   }
   11981              :               }
   11982              :           }
   11983        67809 :         switch (TREE_CODE (_q20))
   11984              :           {
   11985            0 :           case MINUS_EXPR:
   11986            0 :             {
   11987            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   11988            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   11989            0 :               if (zerop (_q21))
   11990              :                 {
   11991            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   11992              :                     {
   11993            0 :                       switch (TREE_CODE (_p2))
   11994              :                         {
   11995            0 :                         case MINUS_EXPR:
   11996            0 :                           {
   11997            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11998            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11999            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12000              :                               {
   12001            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12002              :                                   {
   12003            0 :                                     {
   12004            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12005            0 :                                       const enum tree_code cmp = EQ_EXPR;
   12006            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12007              : )
   12008              :                                         {
   12009            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1935;
   12010            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1935;
   12011            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1935;
   12012            0 :                                           {
   12013            0 :                                             tree _r;
   12014            0 :                                             _r = captures[3];
   12015            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   12016            0 :                                             return _r;
   12017              :                                           }
   12018            0 : next_after_fail1935:;
   12019              :                                         }
   12020              :                                     }
   12021              :                                   }
   12022              :                               }
   12023              :                             break;
   12024              :                           }
   12025              :                         default:;
   12026              :                         }
   12027              :                     }
   12028              :                 }
   12029            0 :               if (integer_zerop (_q21))
   12030              :                 {
   12031            0 :                   if (integer_zerop (_p1))
   12032              :                     {
   12033            0 :                       switch (TREE_CODE (_p2))
   12034              :                         {
   12035            0 :                         case MINUS_EXPR:
   12036            0 :                           {
   12037            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12038            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12039            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12040              :                               {
   12041            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12042              :                                   {
   12043            0 :                                     {
   12044            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12045            0 :                                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   12046            0 :                                       if (res) return res;
   12047              :                                     }
   12048              :                                   }
   12049              :                               }
   12050              :                             break;
   12051              :                           }
   12052              :                         default:;
   12053              :                         }
   12054              :                     }
   12055              :                 }
   12056              :               break;
   12057              :             }
   12058              :           default:;
   12059              :           }
   12060              :         break;
   12061              :       }
   12062            0 :     case UNEQ_EXPR:
   12063            0 :       {
   12064            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12065            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12066            0 :         if (zerop (_q21))
   12067              :           {
   12068            0 :             switch (TREE_CODE (_p2))
   12069              :               {
   12070            0 :               case NEGATE_EXPR:
   12071            0 :                 {
   12072            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12073            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12074              :                     {
   12075            0 :                       {
   12076            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12077            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12078            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12079            0 :  && bitwise_equal_p (captures[0], captures[1])
   12080              : )
   12081              :                           {
   12082            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1936;
   12083            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1936;
   12084            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1936;
   12085            0 :                             {
   12086            0 :                               tree _r;
   12087            0 :                               _r = captures[2];
   12088            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   12089            0 :                               return _r;
   12090              :                             }
   12091            0 : next_after_fail1936:;
   12092              :                           }
   12093              :                       }
   12094              :                     }
   12095              :                   break;
   12096              :                 }
   12097            0 :               default:;
   12098              :               }
   12099            0 :             if (zerop (_p1))
   12100              :               {
   12101            0 :                 switch (TREE_CODE (_p2))
   12102              :                   {
   12103            0 :                   case NEGATE_EXPR:
   12104            0 :                     {
   12105            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12106            0 :                       {
   12107            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12108            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12109            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12110            0 :  && bitwise_equal_p (captures[0], captures[2])
   12111              : )
   12112              :                           {
   12113            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1937;
   12114            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1937;
   12115            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1937;
   12116            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1937;
   12117            0 :                             {
   12118            0 :                               tree _r;
   12119            0 :                               _r = captures[1];
   12120            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   12121            0 :                               return _r;
   12122              :                             }
   12123            0 : next_after_fail1937:;
   12124              :                           }
   12125              :                       }
   12126            0 :                       break;
   12127              :                     }
   12128              :                   default:;
   12129              :                   }
   12130              :               }
   12131              :           }
   12132            0 :         switch (TREE_CODE (_q20))
   12133              :           {
   12134            0 :           case MINUS_EXPR:
   12135            0 :             {
   12136            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12137            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12138            0 :               if (zerop (_q21))
   12139              :                 {
   12140            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12141              :                     {
   12142            0 :                       switch (TREE_CODE (_p2))
   12143              :                         {
   12144            0 :                         case MINUS_EXPR:
   12145            0 :                           {
   12146            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12147            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12148            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12149              :                               {
   12150            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12151              :                                   {
   12152            0 :                                     {
   12153            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12154            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   12155            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12156              : )
   12157              :                                         {
   12158            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1938;
   12159            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1938;
   12160            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1938;
   12161            0 :                                           {
   12162            0 :                                             tree _r;
   12163            0 :                                             _r = captures[3];
   12164            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   12165            0 :                                             return _r;
   12166              :                                           }
   12167            0 : next_after_fail1938:;
   12168              :                                         }
   12169              :                                     }
   12170              :                                   }
   12171              :                               }
   12172              :                             break;
   12173              :                           }
   12174              :                         default:;
   12175              :                         }
   12176              :                     }
   12177              :                 }
   12178            0 :               if (integer_zerop (_q21))
   12179              :                 {
   12180            0 :                   if (integer_zerop (_p1))
   12181              :                     {
   12182            0 :                       switch (TREE_CODE (_p2))
   12183              :                         {
   12184            0 :                         case MINUS_EXPR:
   12185            0 :                           {
   12186            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12187            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12188            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12189              :                               {
   12190            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12191              :                                   {
   12192            0 :                                     {
   12193            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12194            0 :                                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   12195            0 :                                       if (res) return res;
   12196              :                                     }
   12197              :                                   }
   12198              :                               }
   12199              :                             break;
   12200              :                           }
   12201              :                         default:;
   12202              :                         }
   12203              :                     }
   12204              :                 }
   12205              :               break;
   12206              :             }
   12207              :           default:;
   12208              :           }
   12209              :         break;
   12210              :       }
   12211         1356 :     case NE_EXPR:
   12212         1356 :       {
   12213         1356 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12214         1356 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12215         1356 :         if (zerop (_q21))
   12216              :           {
   12217          380 :             switch (TREE_CODE (_p2))
   12218              :               {
   12219            0 :               case NEGATE_EXPR:
   12220            0 :                 {
   12221            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12222            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12223              :                     {
   12224            0 :                       {
   12225            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12226            0 :                         const enum tree_code cmp = NE_EXPR;
   12227            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12228            0 :  && bitwise_equal_p (captures[0], captures[1])
   12229              : )
   12230              :                           {
   12231            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1939;
   12232            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1939;
   12233            0 :                             {
   12234            0 :                               tree _r;
   12235            0 :                               _r = captures[1];
   12236            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   12237            0 :                               return _r;
   12238              :                             }
   12239            0 : next_after_fail1939:;
   12240              :                           }
   12241              :                       }
   12242              :                     }
   12243              :                   break;
   12244              :                 }
   12245          380 :               default:;
   12246              :               }
   12247          380 :           if (integer_zerop (_p2))
   12248              :             {
   12249          190 :               {
   12250          190 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12251          190 :                 const enum tree_code cmp = NE_EXPR;
   12252          190 :                 if (!HONOR_SIGNED_ZEROS (type)
   12253          190 :  && bitwise_equal_p (captures[0], captures[1])
   12254              : )
   12255              :                   {
   12256            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1940;
   12257            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1940;
   12258            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1940;
   12259            0 :                     {
   12260            0 :                       tree _r;
   12261            0 :                       _r = captures[1];
   12262            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   12263            0 :                       return _r;
   12264              :                     }
   12265          190 : next_after_fail1940:;
   12266              :                   }
   12267              :               }
   12268              :             }
   12269              :           }
   12270         1356 :         switch (TREE_CODE (_q20))
   12271              :           {
   12272           40 :           case MINUS_EXPR:
   12273           40 :             {
   12274           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12275           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12276           40 :               if (zerop (_q21))
   12277              :                 {
   12278            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12279              :                     {
   12280            0 :                       switch (TREE_CODE (_p2))
   12281              :                         {
   12282            0 :                         case MINUS_EXPR:
   12283            0 :                           {
   12284            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12285            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12286            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12287              :                               {
   12288            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12289              :                                   {
   12290            0 :                                     {
   12291            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12292            0 :                                       const enum tree_code cmp = NE_EXPR;
   12293            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12294              : )
   12295              :                                         {
   12296            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1941;
   12297            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1941;
   12298            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1941;
   12299            0 :                                           {
   12300            0 :                                             tree _r;
   12301            0 :                                             _r = captures[0];
   12302            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   12303            0 :                                             return _r;
   12304              :                                           }
   12305            0 : next_after_fail1941:;
   12306              :                                         }
   12307              :                                     }
   12308              :                                   }
   12309              :                               }
   12310              :                             break;
   12311              :                           }
   12312              :                         default:;
   12313              :                         }
   12314              :                     }
   12315              :                 }
   12316           40 :               if (integer_zerop (_q21))
   12317              :                 {
   12318            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12319              :                     {
   12320            0 :                       if (integer_zerop (_p2))
   12321              :                         {
   12322            0 :                           {
   12323            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12324            0 :                             tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   12325            0 :                             if (res) return res;
   12326              :                           }
   12327              :                         }
   12328              :                     }
   12329              :                 }
   12330              :               break;
   12331              :             }
   12332              :           default:;
   12333              :           }
   12334              :         break;
   12335              :       }
   12336            0 :     case LTGT_EXPR:
   12337            0 :       {
   12338            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12339            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12340            0 :         if (zerop (_q21))
   12341              :           {
   12342            0 :             switch (TREE_CODE (_p2))
   12343              :               {
   12344            0 :               case NEGATE_EXPR:
   12345            0 :                 {
   12346            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12347            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12348              :                     {
   12349            0 :                       {
   12350            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12351            0 :                         const enum tree_code cmp = LTGT_EXPR;
   12352            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12353            0 :  && bitwise_equal_p (captures[0], captures[1])
   12354              : )
   12355              :                           {
   12356            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1942;
   12357            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1942;
   12358            0 :                             {
   12359            0 :                               tree _r;
   12360            0 :                               _r = captures[1];
   12361            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   12362            0 :                               return _r;
   12363              :                             }
   12364            0 : next_after_fail1942:;
   12365              :                           }
   12366              :                       }
   12367              :                     }
   12368              :                   break;
   12369              :                 }
   12370            0 :               default:;
   12371              :               }
   12372            0 :           if (integer_zerop (_p2))
   12373              :             {
   12374            0 :               {
   12375            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12376            0 :                 const enum tree_code cmp = LTGT_EXPR;
   12377            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   12378            0 :  && bitwise_equal_p (captures[0], captures[1])
   12379              : )
   12380              :                   {
   12381            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1943;
   12382            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1943;
   12383            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1943;
   12384            0 :                     {
   12385            0 :                       tree _r;
   12386            0 :                       _r = captures[1];
   12387            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   12388            0 :                       return _r;
   12389              :                     }
   12390            0 : next_after_fail1943:;
   12391              :                   }
   12392              :               }
   12393              :             }
   12394              :           }
   12395            0 :         switch (TREE_CODE (_q20))
   12396              :           {
   12397            0 :           case MINUS_EXPR:
   12398            0 :             {
   12399            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12400            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12401            0 :               if (zerop (_q21))
   12402              :                 {
   12403            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12404              :                     {
   12405            0 :                       switch (TREE_CODE (_p2))
   12406              :                         {
   12407            0 :                         case MINUS_EXPR:
   12408            0 :                           {
   12409            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12410            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12411            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12412              :                               {
   12413            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12414              :                                   {
   12415            0 :                                     {
   12416            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12417            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   12418            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12419              : )
   12420              :                                         {
   12421            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1944;
   12422            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1944;
   12423            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1944;
   12424            0 :                                           {
   12425            0 :                                             tree _r;
   12426            0 :                                             _r = captures[0];
   12427            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   12428            0 :                                             return _r;
   12429              :                                           }
   12430            0 : next_after_fail1944:;
   12431              :                                         }
   12432              :                                     }
   12433              :                                   }
   12434              :                               }
   12435              :                             break;
   12436              :                           }
   12437              :                         default:;
   12438              :                         }
   12439              :                     }
   12440              :                 }
   12441            0 :               if (integer_zerop (_q21))
   12442              :                 {
   12443            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12444              :                     {
   12445            0 :                       if (integer_zerop (_p2))
   12446              :                         {
   12447            0 :                           {
   12448            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12449            0 :                             tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   12450            0 :                             if (res) return res;
   12451              :                           }
   12452              :                         }
   12453              :                     }
   12454              :                 }
   12455              :               break;
   12456              :             }
   12457              :           default:;
   12458              :           }
   12459              :         break;
   12460              :       }
   12461         1198 :     case GE_EXPR:
   12462         1198 :       {
   12463         1198 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12464         1198 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12465         1198 :         switch (TREE_CODE (_q20))
   12466              :           {
   12467            3 :           CASE_CONVERT:
   12468            3 :             {
   12469            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12470            3 :               if (zerop (_q21))
   12471              :                 {
   12472            0 :                   switch (TREE_CODE (_p2))
   12473              :                     {
   12474            0 :                     case NEGATE_EXPR:
   12475            0 :                       {
   12476            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12477            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12478              :                           {
   12479            0 :                             {
   12480            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12481            0 :                               const enum tree_code cmp = GE_EXPR;
   12482            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12483            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12484            0 :  && element_precision (captures[1])
   12485            0 :  <= element_precision (captures[0])
   12486            0 :  && bitwise_equal_p (captures[1], captures[2])
   12487            0 :  && (!VECTOR_TYPE_P (type)
   12488            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12489              : )
   12490              :                                 {
   12491            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12492              : )
   12493              :                                     {
   12494            0 :                                       {
   12495            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12496            0 :                                           if (types_match (captures[0], stype)
   12497              : )
   12498              :                                             {
   12499            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1945;
   12500            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1945;
   12501            0 :                                               {
   12502            0 :                                                 tree res_op0;
   12503            0 :                                                 res_op0 = captures[0];
   12504            0 :                                                 tree _r;
   12505            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12506            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12507            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12508            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   12509            0 :                                                 return _r;
   12510              :                                               }
   12511            0 : next_after_fail1945:;
   12512              :                                             }
   12513              :                                           else
   12514              :                                             {
   12515            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1946;
   12516            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1946;
   12517            0 :                                               {
   12518            0 :                                                 tree res_op0;
   12519            0 :                                                 {
   12520            0 :                                                   tree _o1[1], _r1;
   12521            0 :                                                   _o1[0] = captures[2];
   12522            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12523              :                                                     {
   12524            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12525              :                                                     }
   12526              :                                                   else
   12527              :                                                     _r1 = _o1[0];
   12528            0 :                                                   res_op0 = _r1;
   12529              :                                                 }
   12530            0 :                                                 tree _r;
   12531            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12532            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   12533            0 :                                                 return _r;
   12534              :                                               }
   12535            0 : next_after_fail1946:;
   12536              :                                             }
   12537              :                                       }
   12538              :                                     }
   12539              :                                   else
   12540              :                                     {
   12541            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1947;
   12542            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1947;
   12543            0 :                                       {
   12544            0 :                                         tree res_op0;
   12545            0 :                                         res_op0 = captures[2];
   12546            0 :                                         tree _r;
   12547            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12548            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   12549            0 :                                         return _r;
   12550              :                                       }
   12551            0 : next_after_fail1947:;
   12552              :                                     }
   12553              :                                 }
   12554              :                             }
   12555              :                           }
   12556              :                         break;
   12557              :                       }
   12558              :                     default:;
   12559              :                     }
   12560              :                 }
   12561              :               break;
   12562              :             }
   12563         1198 :           default:;
   12564              :           }
   12565         1198 :         if (zerop (_q21))
   12566              :           {
   12567          350 :             switch (TREE_CODE (_p2))
   12568              :               {
   12569            3 :               case NEGATE_EXPR:
   12570            3 :                 {
   12571            3 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12572            3 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12573              :                     {
   12574            3 :                       {
   12575            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12576            3 :                         const enum tree_code cmp = GE_EXPR;
   12577            3 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12578            3 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12579            6 :  && element_precision (captures[1])
   12580            3 :  <= element_precision (captures[0])
   12581            3 :  && bitwise_equal_p (captures[1], captures[2])
   12582            6 :  && (!VECTOR_TYPE_P (type)
   12583            3 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12584              : )
   12585              :                           {
   12586            3 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12587              : )
   12588              :                               {
   12589            0 :                                 {
   12590            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12591            0 :                                     if (types_match (captures[0], stype)
   12592              : )
   12593              :                                       {
   12594            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1948;
   12595            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1948;
   12596            0 :                                         {
   12597            0 :                                           tree res_op0;
   12598            0 :                                           res_op0 = captures[0];
   12599            0 :                                           tree _r;
   12600            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12601            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   12602            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12603            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   12604            0 :                                           return _r;
   12605              :                                         }
   12606            0 : next_after_fail1948:;
   12607              :                                       }
   12608              :                                     else
   12609              :                                       {
   12610            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1949;
   12611            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1949;
   12612            0 :                                         {
   12613            0 :                                           tree res_op0;
   12614            0 :                                           {
   12615            0 :                                             tree _o1[1], _r1;
   12616            0 :                                             _o1[0] = captures[2];
   12617            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   12618              :                                               {
   12619            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12620              :                                               }
   12621              :                                             else
   12622              :                                               _r1 = _o1[0];
   12623            0 :                                             res_op0 = _r1;
   12624              :                                           }
   12625            0 :                                           tree _r;
   12626            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12627            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   12628            0 :                                           return _r;
   12629              :                                         }
   12630            0 : next_after_fail1949:;
   12631              :                                       }
   12632              :                                 }
   12633              :                               }
   12634              :                             else
   12635              :                               {
   12636            3 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1950;
   12637            3 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1950;
   12638            3 :                                 {
   12639            3 :                                   tree res_op0;
   12640            3 :                                   res_op0 = captures[2];
   12641            3 :                                   tree _r;
   12642            3 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12643            3 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   12644            3 :                                   return _r;
   12645              :                                 }
   12646            0 : next_after_fail1950:;
   12647              :                               }
   12648              :                           }
   12649              :                       }
   12650              :                     }
   12651              :                   break;
   12652              :                 }
   12653              :               default:;
   12654              :               }
   12655              :           }
   12656         1195 :         switch (TREE_CODE (_q20))
   12657              :           {
   12658            0 :           case MINUS_EXPR:
   12659            0 :             {
   12660            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12661            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12662            0 :               if (zerop (_q21))
   12663              :                 {
   12664            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12665              :                     {
   12666            0 :                       switch (TREE_CODE (_p2))
   12667              :                         {
   12668            0 :                         case MINUS_EXPR:
   12669            0 :                           {
   12670            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12671            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12672            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12673              :                               {
   12674            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12675              :                                   {
   12676            0 :                                     {
   12677            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12678            0 :                                       const enum tree_code cmp = GE_EXPR;
   12679            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12680            0 :  && !TYPE_UNSIGNED (type)
   12681            0 :  && (!VECTOR_TYPE_P (type)
   12682            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12683              : )
   12684              :                                         {
   12685            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1951;
   12686            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1951;
   12687            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1951;
   12688            0 :                                           {
   12689            0 :                                             tree res_op0;
   12690            0 :                                             res_op0 = captures[0];
   12691            0 :                                             tree _r;
   12692            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12693            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   12694            0 :                                             return _r;
   12695              :                                           }
   12696            0 : next_after_fail1951:;
   12697              :                                         }
   12698              :                                     }
   12699              :                                   }
   12700              :                               }
   12701              :                             break;
   12702              :                           }
   12703              :                         default:;
   12704              :                         }
   12705              :                     }
   12706              :                 }
   12707              :               break;
   12708              :             }
   12709              :           default:;
   12710              :           }
   12711              :         break;
   12712              :       }
   12713        66456 :     case GT_EXPR:
   12714        66456 :       {
   12715        66456 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12716        66456 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12717        66456 :         switch (TREE_CODE (_q20))
   12718              :           {
   12719           13 :           CASE_CONVERT:
   12720           13 :             {
   12721           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12722           13 :               if (zerop (_q21))
   12723              :                 {
   12724            1 :                   switch (TREE_CODE (_p2))
   12725              :                     {
   12726            0 :                     case NEGATE_EXPR:
   12727            0 :                       {
   12728            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12729            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12730              :                           {
   12731            0 :                             {
   12732            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12733            0 :                               const enum tree_code cmp = GT_EXPR;
   12734            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12735            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12736            0 :  && element_precision (captures[1])
   12737            0 :  <= element_precision (captures[0])
   12738            0 :  && bitwise_equal_p (captures[1], captures[2])
   12739            0 :  && (!VECTOR_TYPE_P (type)
   12740            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12741              : )
   12742              :                                 {
   12743            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12744              : )
   12745              :                                     {
   12746            0 :                                       {
   12747            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12748            0 :                                           if (types_match (captures[0], stype)
   12749              : )
   12750              :                                             {
   12751            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1952;
   12752            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1952;
   12753            0 :                                               {
   12754            0 :                                                 tree res_op0;
   12755            0 :                                                 res_op0 = captures[0];
   12756            0 :                                                 tree _r;
   12757            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12758            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12759            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12760            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   12761            0 :                                                 return _r;
   12762              :                                               }
   12763            0 : next_after_fail1952:;
   12764              :                                             }
   12765              :                                           else
   12766              :                                             {
   12767            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1953;
   12768            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1953;
   12769            0 :                                               {
   12770            0 :                                                 tree res_op0;
   12771            0 :                                                 {
   12772            0 :                                                   tree _o1[1], _r1;
   12773            0 :                                                   _o1[0] = captures[2];
   12774            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12775              :                                                     {
   12776            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12777              :                                                     }
   12778              :                                                   else
   12779              :                                                     _r1 = _o1[0];
   12780            0 :                                                   res_op0 = _r1;
   12781              :                                                 }
   12782            0 :                                                 tree _r;
   12783            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12784            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   12785            0 :                                                 return _r;
   12786              :                                               }
   12787            0 : next_after_fail1953:;
   12788              :                                             }
   12789              :                                       }
   12790              :                                     }
   12791              :                                   else
   12792              :                                     {
   12793            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1954;
   12794            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1954;
   12795            0 :                                       {
   12796            0 :                                         tree res_op0;
   12797            0 :                                         res_op0 = captures[2];
   12798            0 :                                         tree _r;
   12799            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12800            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   12801            0 :                                         return _r;
   12802              :                                       }
   12803            0 : next_after_fail1954:;
   12804              :                                     }
   12805              :                                 }
   12806              :                             }
   12807              :                           }
   12808              :                         break;
   12809              :                       }
   12810              :                     default:;
   12811              :                     }
   12812              :                 }
   12813              :               break;
   12814              :             }
   12815        66456 :           default:;
   12816              :           }
   12817        66456 :         if (zerop (_q21))
   12818              :           {
   12819           84 :             switch (TREE_CODE (_p2))
   12820              :               {
   12821            6 :               case NEGATE_EXPR:
   12822            6 :                 {
   12823            6 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12824            6 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12825              :                     {
   12826            6 :                       {
   12827            6 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12828            6 :                         const enum tree_code cmp = GT_EXPR;
   12829            6 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12830            6 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12831           12 :  && element_precision (captures[1])
   12832            6 :  <= element_precision (captures[0])
   12833            6 :  && bitwise_equal_p (captures[1], captures[2])
   12834           12 :  && (!VECTOR_TYPE_P (type)
   12835            6 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12836              : )
   12837              :                           {
   12838            6 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12839              : )
   12840              :                               {
   12841            0 :                                 {
   12842            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12843            0 :                                     if (types_match (captures[0], stype)
   12844              : )
   12845              :                                       {
   12846            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1955;
   12847            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1955;
   12848            0 :                                         {
   12849            0 :                                           tree res_op0;
   12850            0 :                                           res_op0 = captures[0];
   12851            0 :                                           tree _r;
   12852            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12853            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   12854            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12855            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   12856            0 :                                           return _r;
   12857              :                                         }
   12858            0 : next_after_fail1955:;
   12859              :                                       }
   12860              :                                     else
   12861              :                                       {
   12862            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1956;
   12863            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1956;
   12864            0 :                                         {
   12865            0 :                                           tree res_op0;
   12866            0 :                                           {
   12867            0 :                                             tree _o1[1], _r1;
   12868            0 :                                             _o1[0] = captures[2];
   12869            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   12870              :                                               {
   12871            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12872              :                                               }
   12873              :                                             else
   12874              :                                               _r1 = _o1[0];
   12875            0 :                                             res_op0 = _r1;
   12876              :                                           }
   12877            0 :                                           tree _r;
   12878            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12879            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   12880            0 :                                           return _r;
   12881              :                                         }
   12882            0 : next_after_fail1956:;
   12883              :                                       }
   12884              :                                 }
   12885              :                               }
   12886              :                             else
   12887              :                               {
   12888            6 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1957;
   12889            6 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1957;
   12890            6 :                                 {
   12891            6 :                                   tree res_op0;
   12892            6 :                                   res_op0 = captures[2];
   12893            6 :                                   tree _r;
   12894            6 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12895            6 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   12896            6 :                                   return _r;
   12897              :                                 }
   12898            0 : next_after_fail1957:;
   12899              :                               }
   12900              :                           }
   12901              :                       }
   12902              :                     }
   12903              :                   break;
   12904              :                 }
   12905              :               default:;
   12906              :               }
   12907              :           }
   12908        66450 :         switch (TREE_CODE (_q20))
   12909              :           {
   12910            0 :           case MINUS_EXPR:
   12911            0 :             {
   12912            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12913            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12914            0 :               if (zerop (_q21))
   12915              :                 {
   12916            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12917              :                     {
   12918            0 :                       switch (TREE_CODE (_p2))
   12919              :                         {
   12920            0 :                         case MINUS_EXPR:
   12921            0 :                           {
   12922            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12923            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12924            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12925              :                               {
   12926            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12927              :                                   {
   12928            0 :                                     {
   12929            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12930            0 :                                       const enum tree_code cmp = GT_EXPR;
   12931            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12932            0 :  && !TYPE_UNSIGNED (type)
   12933            0 :  && (!VECTOR_TYPE_P (type)
   12934            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12935              : )
   12936              :                                         {
   12937            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1958;
   12938            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1958;
   12939            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1958;
   12940            0 :                                           {
   12941            0 :                                             tree res_op0;
   12942            0 :                                             res_op0 = captures[0];
   12943            0 :                                             tree _r;
   12944            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12945            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   12946            0 :                                             return _r;
   12947              :                                           }
   12948            0 : next_after_fail1958:;
   12949              :                                         }
   12950              :                                     }
   12951              :                                   }
   12952              :                               }
   12953              :                             break;
   12954              :                           }
   12955              :                         default:;
   12956              :                         }
   12957              :                     }
   12958              :                 }
   12959              :               break;
   12960              :             }
   12961              :           default:;
   12962              :           }
   12963              :         break;
   12964              :       }
   12965         1055 :     case LE_EXPR:
   12966         1055 :       {
   12967         1055 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12968         1055 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12969         1055 :         switch (TREE_CODE (_q20))
   12970              :           {
   12971          128 :           CASE_CONVERT:
   12972          128 :             {
   12973          128 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12974          128 :               if (zerop (_q21))
   12975              :                 {
   12976            0 :                   switch (TREE_CODE (_p2))
   12977              :                     {
   12978            0 :                     case NEGATE_EXPR:
   12979            0 :                       {
   12980            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12981            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12982              :                           {
   12983            0 :                             {
   12984            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12985            0 :                               const enum tree_code cmp = LE_EXPR;
   12986            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12987            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12988            0 :  && element_precision (captures[1])
   12989            0 :  <= element_precision (captures[0])
   12990            0 :  && bitwise_equal_p (captures[1], captures[2])
   12991            0 :  && (!VECTOR_TYPE_P (type)
   12992            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   12993            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   12994              : )
   12995              :                                 {
   12996            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   12997            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   12998            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12999              : )
   13000              :                                     {
   13001            0 :                                       {
   13002            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13003            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13004            0 :                                           if (types_match (captures[0], stype)
   13005              : )
   13006              :                                             {
   13007            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1959;
   13008            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1959;
   13009            0 :                                               {
   13010            0 :                                                 tree res_op0;
   13011            0 :                                                 {
   13012            0 :                                                   tree _o1[1], _r1;
   13013            0 :                                                   {
   13014            0 :                                                     tree _o2[1], _r2;
   13015            0 :                                                     _o2[0] = captures[0];
   13016            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13017            0 :                                                     _o1[0] = _r2;
   13018              :                                                   }
   13019            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13020            0 :                                                   res_op0 = _r1;
   13021              :                                                 }
   13022            0 :                                                 tree _r;
   13023            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13024            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13025            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13026            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   13027            0 :                                                 return _r;
   13028              :                                               }
   13029            0 : next_after_fail1959:;
   13030              :                                             }
   13031              :                                           else
   13032              :                                             {
   13033            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1960;
   13034            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1960;
   13035            0 :                                               {
   13036            0 :                                                 tree res_op0;
   13037            0 :                                                 {
   13038            0 :                                                   tree _o1[1], _r1;
   13039            0 :                                                   {
   13040            0 :                                                     tree _o2[1], _r2;
   13041            0 :                                                     {
   13042            0 :                                                       tree _o3[1], _r3;
   13043            0 :                                                       _o3[0] = captures[2];
   13044            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13045              :                                                         {
   13046            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13047              :                                                         }
   13048              :                                                       else
   13049              :                                                         _r3 = _o3[0];
   13050            0 :                                                       _o2[0] = _r3;
   13051              :                                                     }
   13052            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13053            0 :                                                     _o1[0] = _r2;
   13054              :                                                   }
   13055            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13056            0 :                                                   res_op0 = _r1;
   13057              :                                                 }
   13058            0 :                                                 tree _r;
   13059            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13060            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   13061            0 :                                                 return _r;
   13062              :                                               }
   13063            0 : next_after_fail1960:;
   13064              :                                             }
   13065              :                                       }
   13066              :                                     }
   13067              :                                   else
   13068              :                                     {
   13069            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1961;
   13070            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1961;
   13071            0 :                                       {
   13072            0 :                                         tree res_op0;
   13073            0 :                                         {
   13074            0 :                                           tree _o1[1], _r1;
   13075            0 :                                           {
   13076            0 :                                             tree _o2[1], _r2;
   13077            0 :                                             _o2[0] = captures[2];
   13078            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13079            0 :                                             _o1[0] = _r2;
   13080              :                                           }
   13081            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13082            0 :                                           res_op0 = _r1;
   13083              :                                         }
   13084            0 :                                         tree _r;
   13085            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13086            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   13087            0 :                                         return _r;
   13088              :                                       }
   13089            0 : next_after_fail1961:;
   13090              :                                     }
   13091              :                                 }
   13092              :                             }
   13093              :                           }
   13094              :                         break;
   13095              :                       }
   13096              :                     default:;
   13097              :                     }
   13098              :                 }
   13099              :               break;
   13100              :             }
   13101         1055 :           default:;
   13102              :           }
   13103         1055 :         if (zerop (_q21))
   13104              :           {
   13105           18 :             switch (TREE_CODE (_p2))
   13106              :               {
   13107            0 :               case NEGATE_EXPR:
   13108            0 :                 {
   13109            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13110            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13111              :                     {
   13112            0 :                       {
   13113            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13114            0 :                         const enum tree_code cmp = LE_EXPR;
   13115            0 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13116            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13117            0 :  && element_precision (captures[1])
   13118            0 :  <= element_precision (captures[0])
   13119            0 :  && bitwise_equal_p (captures[1], captures[2])
   13120            0 :  && (!VECTOR_TYPE_P (type)
   13121            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13122            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13123              : )
   13124              :                           {
   13125            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13126            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13127            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13128              : )
   13129              :                               {
   13130            0 :                                 {
   13131            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13132            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13133            0 :                                     if (types_match (captures[0], stype)
   13134              : )
   13135              :                                       {
   13136            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1962;
   13137            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1962;
   13138            0 :                                         {
   13139            0 :                                           tree res_op0;
   13140            0 :                                           {
   13141            0 :                                             tree _o1[1], _r1;
   13142            0 :                                             {
   13143            0 :                                               tree _o2[1], _r2;
   13144            0 :                                               _o2[0] = captures[0];
   13145            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13146            0 :                                               _o1[0] = _r2;
   13147              :                                             }
   13148            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13149            0 :                                             res_op0 = _r1;
   13150              :                                           }
   13151            0 :                                           tree _r;
   13152            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13153            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13154            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13155            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   13156            0 :                                           return _r;
   13157              :                                         }
   13158            0 : next_after_fail1962:;
   13159              :                                       }
   13160              :                                     else
   13161              :                                       {
   13162            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1963;
   13163            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1963;
   13164            0 :                                         {
   13165            0 :                                           tree res_op0;
   13166            0 :                                           {
   13167            0 :                                             tree _o1[1], _r1;
   13168            0 :                                             {
   13169            0 :                                               tree _o2[1], _r2;
   13170            0 :                                               {
   13171            0 :                                                 tree _o3[1], _r3;
   13172            0 :                                                 _o3[0] = captures[2];
   13173            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13174              :                                                   {
   13175            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13176              :                                                   }
   13177              :                                                 else
   13178              :                                                   _r3 = _o3[0];
   13179            0 :                                                 _o2[0] = _r3;
   13180              :                                               }
   13181            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13182            0 :                                               _o1[0] = _r2;
   13183              :                                             }
   13184            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13185            0 :                                             res_op0 = _r1;
   13186              :                                           }
   13187            0 :                                           tree _r;
   13188            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13189            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   13190            0 :                                           return _r;
   13191              :                                         }
   13192            0 : next_after_fail1963:;
   13193              :                                       }
   13194              :                                 }
   13195              :                               }
   13196              :                             else
   13197              :                               {
   13198            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1964;
   13199            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1964;
   13200            0 :                                 {
   13201            0 :                                   tree res_op0;
   13202            0 :                                   {
   13203            0 :                                     tree _o1[1], _r1;
   13204            0 :                                     {
   13205            0 :                                       tree _o2[1], _r2;
   13206            0 :                                       _o2[0] = captures[2];
   13207            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13208            0 :                                       _o1[0] = _r2;
   13209              :                                     }
   13210            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13211            0 :                                     res_op0 = _r1;
   13212              :                                   }
   13213            0 :                                   tree _r;
   13214            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13215            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   13216            0 :                                   return _r;
   13217              :                                 }
   13218            0 : next_after_fail1964:;
   13219              :                               }
   13220              :                           }
   13221              :                       }
   13222              :                     }
   13223              :                   break;
   13224              :                 }
   13225              :               default:;
   13226              :               }
   13227              :           }
   13228         1055 :         switch (TREE_CODE (_q20))
   13229              :           {
   13230            0 :           case MINUS_EXPR:
   13231            0 :             {
   13232            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13233            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13234            0 :               if (zerop (_q21))
   13235              :                 {
   13236            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13237              :                     {
   13238            0 :                       switch (TREE_CODE (_p2))
   13239              :                         {
   13240            0 :                         case MINUS_EXPR:
   13241            0 :                           {
   13242            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13243            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13244            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13245              :                               {
   13246            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13247              :                                   {
   13248            0 :                                     {
   13249            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13250            0 :                                       const enum tree_code cmp = LE_EXPR;
   13251            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13252            0 :  && !TYPE_UNSIGNED (type)
   13253              : )
   13254              :                                         {
   13255            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13256            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13257            0 :  && (!VECTOR_TYPE_P (type)
   13258            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13259            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13260              : )
   13261              :                                             {
   13262            0 :                                               {
   13263            0 :  tree utype = unsigned_type_for (type);
   13264            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1965;
   13265            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1965;
   13266            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1965;
   13267            0 :                                                   {
   13268            0 :                                                     tree res_op0;
   13269            0 :                                                     {
   13270            0 :                                                       tree _o1[1], _r1;
   13271            0 :                                                       {
   13272            0 :                                                         tree _o2[1], _r2;
   13273            0 :                                                         _o2[0] = captures[0];
   13274            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13275            0 :                                                         _o1[0] = _r2;
   13276              :                                                       }
   13277            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13278            0 :                                                       res_op0 = _r1;
   13279              :                                                     }
   13280            0 :                                                     tree _r;
   13281            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13282            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   13283            0 :                                                     return _r;
   13284              :                                                   }
   13285            0 : next_after_fail1965:;
   13286              :                                               }
   13287              :                                             }
   13288              :                                           else
   13289              :                                             {
   13290            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1966;
   13291            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1966;
   13292            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1966;
   13293            0 :                                               {
   13294            0 :                                                 tree res_op0;
   13295            0 :                                                 {
   13296            0 :                                                   tree _o1[1], _r1;
   13297            0 :                                                   _o1[0] = captures[0];
   13298            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13299            0 :                                                   res_op0 = _r1;
   13300              :                                                 }
   13301            0 :                                                 tree _r;
   13302            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13303            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   13304            0 :                                                 return _r;
   13305              :                                               }
   13306            0 : next_after_fail1966:;
   13307              :                                             }
   13308              :                                         }
   13309              :                                     }
   13310              :                                   }
   13311              :                               }
   13312              :                             break;
   13313              :                           }
   13314              :                         default:;
   13315              :                         }
   13316              :                     }
   13317              :                 }
   13318              :               break;
   13319              :             }
   13320              :           default:;
   13321              :           }
   13322              :         break;
   13323              :       }
   13324        20950 :     case LT_EXPR:
   13325        20950 :       {
   13326        20950 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13327        20950 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13328        20950 :         switch (TREE_CODE (_q20))
   13329              :           {
   13330          316 :           CASE_CONVERT:
   13331          316 :             {
   13332          316 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13333          316 :               if (zerop (_q21))
   13334              :                 {
   13335          162 :                   switch (TREE_CODE (_p2))
   13336              :                     {
   13337            0 :                     case NEGATE_EXPR:
   13338            0 :                       {
   13339            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13340            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13341              :                           {
   13342            0 :                             {
   13343            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13344            0 :                               const enum tree_code cmp = LT_EXPR;
   13345            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13346            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13347            0 :  && element_precision (captures[1])
   13348            0 :  <= element_precision (captures[0])
   13349            0 :  && bitwise_equal_p (captures[1], captures[2])
   13350            0 :  && (!VECTOR_TYPE_P (type)
   13351            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13352            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13353              : )
   13354              :                                 {
   13355            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13356            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13357            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13358              : )
   13359              :                                     {
   13360            0 :                                       {
   13361            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13362            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13363            0 :                                           if (types_match (captures[0], stype)
   13364              : )
   13365              :                                             {
   13366            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1967;
   13367            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1967;
   13368            0 :                                               {
   13369            0 :                                                 tree res_op0;
   13370            0 :                                                 {
   13371            0 :                                                   tree _o1[1], _r1;
   13372            0 :                                                   {
   13373            0 :                                                     tree _o2[1], _r2;
   13374            0 :                                                     _o2[0] = captures[0];
   13375            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13376            0 :                                                     _o1[0] = _r2;
   13377              :                                                   }
   13378            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13379            0 :                                                   res_op0 = _r1;
   13380              :                                                 }
   13381            0 :                                                 tree _r;
   13382            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13383            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13384            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13385            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   13386            0 :                                                 return _r;
   13387              :                                               }
   13388            0 : next_after_fail1967:;
   13389              :                                             }
   13390              :                                           else
   13391              :                                             {
   13392            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1968;
   13393            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1968;
   13394            0 :                                               {
   13395            0 :                                                 tree res_op0;
   13396            0 :                                                 {
   13397            0 :                                                   tree _o1[1], _r1;
   13398            0 :                                                   {
   13399            0 :                                                     tree _o2[1], _r2;
   13400            0 :                                                     {
   13401            0 :                                                       tree _o3[1], _r3;
   13402            0 :                                                       _o3[0] = captures[2];
   13403            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13404              :                                                         {
   13405            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13406              :                                                         }
   13407              :                                                       else
   13408              :                                                         _r3 = _o3[0];
   13409            0 :                                                       _o2[0] = _r3;
   13410              :                                                     }
   13411            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13412            0 :                                                     _o1[0] = _r2;
   13413              :                                                   }
   13414            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13415            0 :                                                   res_op0 = _r1;
   13416              :                                                 }
   13417            0 :                                                 tree _r;
   13418            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13419            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   13420            0 :                                                 return _r;
   13421              :                                               }
   13422            0 : next_after_fail1968:;
   13423              :                                             }
   13424              :                                       }
   13425              :                                     }
   13426              :                                   else
   13427              :                                     {
   13428            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1969;
   13429            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1969;
   13430            0 :                                       {
   13431            0 :                                         tree res_op0;
   13432            0 :                                         {
   13433            0 :                                           tree _o1[1], _r1;
   13434            0 :                                           {
   13435            0 :                                             tree _o2[1], _r2;
   13436            0 :                                             _o2[0] = captures[2];
   13437            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13438            0 :                                             _o1[0] = _r2;
   13439              :                                           }
   13440            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13441            0 :                                           res_op0 = _r1;
   13442              :                                         }
   13443            0 :                                         tree _r;
   13444            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13445            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   13446            0 :                                         return _r;
   13447              :                                       }
   13448            0 : next_after_fail1969:;
   13449              :                                     }
   13450              :                                 }
   13451              :                             }
   13452              :                           }
   13453              :                         break;
   13454              :                       }
   13455              :                     default:;
   13456              :                     }
   13457              :                 }
   13458              :               break;
   13459              :             }
   13460        20950 :           default:;
   13461              :           }
   13462        20950 :         if (zerop (_q21))
   13463              :           {
   13464          712 :             switch (TREE_CODE (_p2))
   13465              :               {
   13466           16 :               case NEGATE_EXPR:
   13467           16 :                 {
   13468           16 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13469           16 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13470              :                     {
   13471           16 :                       {
   13472           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13473           16 :                         const enum tree_code cmp = LT_EXPR;
   13474           16 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13475           16 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13476           32 :  && element_precision (captures[1])
   13477           16 :  <= element_precision (captures[0])
   13478           16 :  && bitwise_equal_p (captures[1], captures[2])
   13479           32 :  && (!VECTOR_TYPE_P (type)
   13480           16 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13481            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13482              : )
   13483              :                           {
   13484            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13485            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13486            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13487              : )
   13488              :                               {
   13489            0 :                                 {
   13490            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13491            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13492            0 :                                     if (types_match (captures[0], stype)
   13493              : )
   13494              :                                       {
   13495            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1970;
   13496            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1970;
   13497            0 :                                         {
   13498            0 :                                           tree res_op0;
   13499            0 :                                           {
   13500            0 :                                             tree _o1[1], _r1;
   13501            0 :                                             {
   13502            0 :                                               tree _o2[1], _r2;
   13503            0 :                                               _o2[0] = captures[0];
   13504            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13505            0 :                                               _o1[0] = _r2;
   13506              :                                             }
   13507            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13508            0 :                                             res_op0 = _r1;
   13509              :                                           }
   13510            0 :                                           tree _r;
   13511            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13512            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13513            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13514            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   13515            0 :                                           return _r;
   13516              :                                         }
   13517           16 : next_after_fail1970:;
   13518              :                                       }
   13519              :                                     else
   13520              :                                       {
   13521            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1971;
   13522            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1971;
   13523            0 :                                         {
   13524            0 :                                           tree res_op0;
   13525            0 :                                           {
   13526            0 :                                             tree _o1[1], _r1;
   13527            0 :                                             {
   13528            0 :                                               tree _o2[1], _r2;
   13529            0 :                                               {
   13530            0 :                                                 tree _o3[1], _r3;
   13531            0 :                                                 _o3[0] = captures[2];
   13532            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13533              :                                                   {
   13534            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13535              :                                                   }
   13536              :                                                 else
   13537              :                                                   _r3 = _o3[0];
   13538            0 :                                                 _o2[0] = _r3;
   13539              :                                               }
   13540            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13541            0 :                                               _o1[0] = _r2;
   13542              :                                             }
   13543            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13544            0 :                                             res_op0 = _r1;
   13545              :                                           }
   13546            0 :                                           tree _r;
   13547            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13548            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   13549            0 :                                           return _r;
   13550              :                                         }
   13551           16 : next_after_fail1971:;
   13552              :                                       }
   13553              :                                 }
   13554              :                               }
   13555              :                             else
   13556              :                               {
   13557            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1972;
   13558            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1972;
   13559            0 :                                 {
   13560            0 :                                   tree res_op0;
   13561            0 :                                   {
   13562            0 :                                     tree _o1[1], _r1;
   13563            0 :                                     {
   13564            0 :                                       tree _o2[1], _r2;
   13565            0 :                                       _o2[0] = captures[2];
   13566            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13567            0 :                                       _o1[0] = _r2;
   13568              :                                     }
   13569            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13570            0 :                                     res_op0 = _r1;
   13571              :                                   }
   13572            0 :                                   tree _r;
   13573            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13574            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   13575            0 :                                   return _r;
   13576              :                                 }
   13577           16 : next_after_fail1972:;
   13578              :                               }
   13579              :                           }
   13580              :                       }
   13581              :                     }
   13582              :                   break;
   13583              :                 }
   13584              :               default:;
   13585              :               }
   13586              :           }
   13587        20950 :         switch (TREE_CODE (_q20))
   13588              :           {
   13589            0 :           case MINUS_EXPR:
   13590            0 :             {
   13591            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13592            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13593            0 :               if (zerop (_q21))
   13594              :                 {
   13595            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13596              :                     {
   13597            0 :                       switch (TREE_CODE (_p2))
   13598              :                         {
   13599            0 :                         case MINUS_EXPR:
   13600            0 :                           {
   13601            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13602            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13603            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13604              :                               {
   13605            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13606              :                                   {
   13607            0 :                                     {
   13608            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13609            0 :                                       const enum tree_code cmp = LT_EXPR;
   13610            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13611            0 :  && !TYPE_UNSIGNED (type)
   13612              : )
   13613              :                                         {
   13614            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13615            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13616            0 :  && (!VECTOR_TYPE_P (type)
   13617            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13618            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13619              : )
   13620              :                                             {
   13621            0 :                                               {
   13622            0 :  tree utype = unsigned_type_for (type);
   13623            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1973;
   13624            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1973;
   13625            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1973;
   13626            0 :                                                   {
   13627            0 :                                                     tree res_op0;
   13628            0 :                                                     {
   13629            0 :                                                       tree _o1[1], _r1;
   13630            0 :                                                       {
   13631            0 :                                                         tree _o2[1], _r2;
   13632            0 :                                                         _o2[0] = captures[0];
   13633            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13634            0 :                                                         _o1[0] = _r2;
   13635              :                                                       }
   13636            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13637            0 :                                                       res_op0 = _r1;
   13638              :                                                     }
   13639            0 :                                                     tree _r;
   13640            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13641            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   13642            0 :                                                     return _r;
   13643              :                                                   }
   13644            0 : next_after_fail1973:;
   13645              :                                               }
   13646              :                                             }
   13647              :                                           else
   13648              :                                             {
   13649            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1974;
   13650            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1974;
   13651            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1974;
   13652            0 :                                               {
   13653            0 :                                                 tree res_op0;
   13654            0 :                                                 {
   13655            0 :                                                   tree _o1[1], _r1;
   13656            0 :                                                   _o1[0] = captures[0];
   13657            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13658            0 :                                                   res_op0 = _r1;
   13659              :                                                 }
   13660            0 :                                                 tree _r;
   13661            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13662            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   13663            0 :                                                 return _r;
   13664              :                                               }
   13665            0 : next_after_fail1974:;
   13666              :                                             }
   13667              :                                         }
   13668              :                                     }
   13669              :                                   }
   13670              :                               }
   13671              :                             break;
   13672              :                           }
   13673              :                         default:;
   13674              :                         }
   13675              :                     }
   13676              :                 }
   13677              :               break;
   13678              :             }
   13679              :           default:;
   13680              :           }
   13681              :         break;
   13682              :       }
   13683       454017 :     default:;
   13684              :     }
   13685       454017 : {
   13686       454017 :   tree _p0_pops[1];
   13687       454017 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   13688              :     {
   13689         1418 :       tree _q20 = _p0_pops[0];
   13690         1418 :       if (tree_truth_valued_p (_q20))
   13691              :         {
   13692            0 :           {
   13693            0 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13694            0 :             if (VEC_COND_EXPR == VEC_COND_EXPR
   13695              :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   13696              : )
   13697              :               {
   13698            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1975;
   13699            0 :                 {
   13700            0 :                   tree res_op0;
   13701            0 :                   res_op0 = captures[0];
   13702            0 :                   tree res_op1;
   13703            0 :                   res_op1 = captures[2];
   13704            0 :                   tree res_op2;
   13705            0 :                   res_op2 = captures[1];
   13706            0 :                   tree _r;
   13707            0 :                   _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13708            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   13709            0 :                   return _r;
   13710              :                 }
   13711            0 : next_after_fail1975:;
   13712              :               }
   13713              :           }
   13714              :         }
   13715              :     }
   13716              : }
   13717       454017 :   switch (TREE_CODE (_p1))
   13718              :     {
   13719            0 :     case VIEW_CONVERT_EXPR:
   13720            0 :       {
   13721            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   13722            0 :         switch (TREE_CODE (_q30))
   13723              :           {
   13724            0 :           case CALL_EXPR:
   13725            0 :             switch (get_call_combined_fn (_q30))
   13726              :               {
   13727            0 :               case CFN_COND_ADD:
   13728            0 :                 if (call_expr_nargs (_q30) == 4)
   13729              :     {
   13730            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13731            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13732            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13733            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13734            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13735              :                       {
   13736            0 :                         {
   13737            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13738            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   13739            0 :                           if (res) return res;
   13740              :                         }
   13741              :                       }
   13742              :                   }
   13743              :                 break;
   13744            0 :               case CFN_COND_AND:
   13745            0 :                 if (call_expr_nargs (_q30) == 4)
   13746              :     {
   13747            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13748            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13749            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13750            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13751            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13752              :                       {
   13753            0 :                         {
   13754            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13755            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   13756            0 :                           if (res) return res;
   13757              :                         }
   13758              :                       }
   13759              :                   }
   13760              :                 break;
   13761            0 :               case CFN_COND_DIV:
   13762            0 :                 if (call_expr_nargs (_q30) == 4)
   13763              :     {
   13764            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13765            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13766            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13767            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13768            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13769              :                       {
   13770            0 :                         {
   13771            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13772            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   13773            0 :                           if (res) return res;
   13774              :                         }
   13775              :                       }
   13776              :                   }
   13777              :                 break;
   13778            0 :               case CFN_COND_IOR:
   13779            0 :                 if (call_expr_nargs (_q30) == 4)
   13780              :     {
   13781            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13782            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13783            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13784            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13785            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13786              :                       {
   13787            0 :                         {
   13788            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13789            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   13790            0 :                           if (res) return res;
   13791              :                         }
   13792              :                       }
   13793              :                   }
   13794              :                 break;
   13795            0 :               case CFN_COND_MAX:
   13796            0 :                 if (call_expr_nargs (_q30) == 4)
   13797              :     {
   13798            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13799            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13800            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13801            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13802            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13803              :                       {
   13804            0 :                         {
   13805            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13806            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   13807            0 :                           if (res) return res;
   13808              :                         }
   13809              :                       }
   13810              :                   }
   13811              :                 break;
   13812            0 :               case CFN_COND_MIN:
   13813            0 :                 if (call_expr_nargs (_q30) == 4)
   13814              :     {
   13815            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13816            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13817            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13818            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13819            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13820              :                       {
   13821            0 :                         {
   13822            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13823            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   13824            0 :                           if (res) return res;
   13825              :                         }
   13826              :                       }
   13827              :                   }
   13828              :                 break;
   13829            0 :               case CFN_COND_MOD:
   13830            0 :                 if (call_expr_nargs (_q30) == 4)
   13831              :     {
   13832            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13833            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13834            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13835            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13836            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13837              :                       {
   13838            0 :                         {
   13839            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13840            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   13841            0 :                           if (res) return res;
   13842              :                         }
   13843              :                       }
   13844              :                   }
   13845              :                 break;
   13846            0 :               case CFN_COND_MUL:
   13847            0 :                 if (call_expr_nargs (_q30) == 4)
   13848              :     {
   13849            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13850            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13851            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13852            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13853            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13854              :                       {
   13855            0 :                         {
   13856            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13857            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   13858            0 :                           if (res) return res;
   13859              :                         }
   13860              :                       }
   13861              :                   }
   13862              :                 break;
   13863            0 :               case CFN_COND_SHL:
   13864            0 :                 if (call_expr_nargs (_q30) == 4)
   13865              :     {
   13866            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13867            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13868            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13869            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13870            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13871              :                       {
   13872            0 :                         {
   13873            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13874            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   13875            0 :                           if (res) return res;
   13876              :                         }
   13877              :                       }
   13878              :                   }
   13879              :                 break;
   13880            0 :               case CFN_COND_SHR:
   13881            0 :                 if (call_expr_nargs (_q30) == 4)
   13882              :     {
   13883            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13884            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13885            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13886            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13887            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13888              :                       {
   13889            0 :                         {
   13890            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13891            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   13892            0 :                           if (res) return res;
   13893              :                         }
   13894              :                       }
   13895              :                   }
   13896              :                 break;
   13897            0 :               case CFN_COND_SUB:
   13898            0 :                 if (call_expr_nargs (_q30) == 4)
   13899              :     {
   13900            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13901            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13902            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13903            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13904            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13905              :                       {
   13906            0 :                         {
   13907            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13908            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   13909            0 :                           if (res) return res;
   13910              :                         }
   13911              :                       }
   13912              :                   }
   13913              :                 break;
   13914            0 :               case CFN_COND_XOR:
   13915            0 :                 if (call_expr_nargs (_q30) == 4)
   13916              :     {
   13917            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13918            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13919            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13920            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13921            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13922              :                       {
   13923            0 :                         {
   13924            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13925            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   13926            0 :                           if (res) return res;
   13927              :                         }
   13928              :                       }
   13929              :                   }
   13930              :                 break;
   13931            0 :               case CFN_COND_COPYSIGN:
   13932            0 :                 if (call_expr_nargs (_q30) == 4)
   13933              :     {
   13934            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13935            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13936            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13937            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13938            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13939              :                       {
   13940            0 :                         {
   13941            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13942            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   13943            0 :                           if (res) return res;
   13944              :                         }
   13945              :                       }
   13946              :                   }
   13947              :                 break;
   13948            0 :               case CFN_COND_FMAX:
   13949            0 :                 if (call_expr_nargs (_q30) == 4)
   13950              :     {
   13951            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13952            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13953            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13954            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13955            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13956              :                       {
   13957            0 :                         {
   13958            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13959            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   13960            0 :                           if (res) return res;
   13961              :                         }
   13962              :                       }
   13963              :                   }
   13964              :                 break;
   13965            0 :               case CFN_COND_FMIN:
   13966            0 :                 if (call_expr_nargs (_q30) == 4)
   13967              :     {
   13968            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13969            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13970            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13971            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13972            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13973              :                       {
   13974            0 :                         {
   13975            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13976            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   13977            0 :                           if (res) return res;
   13978              :                         }
   13979              :                       }
   13980              :                   }
   13981              :                 break;
   13982            0 :               case CFN_COND_RDIV:
   13983            0 :                 if (call_expr_nargs (_q30) == 4)
   13984              :     {
   13985            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13986            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13987            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13988            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13989            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13990              :                       {
   13991            0 :                         {
   13992            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13993            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   13994            0 :                           if (res) return res;
   13995              :                         }
   13996              :                       }
   13997              :                   }
   13998              :                 break;
   13999              :               default:;
   14000              :               }
   14001              :             break;
   14002              :           default:;
   14003              :           }
   14004              :         break;
   14005              :       }
   14006           12 :     case CALL_EXPR:
   14007           12 :       switch (get_call_combined_fn (_p1))
   14008              :         {
   14009            0 :         case CFN_COND_ADD:
   14010            0 :           if (call_expr_nargs (_p1) == 4)
   14011              :     {
   14012            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14013            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14014            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14015            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14016            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14017              :                 {
   14018            0 :                   {
   14019            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14020            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14021            0 :                     if (res) return res;
   14022              :                   }
   14023              :                 }
   14024              :             }
   14025              :           break;
   14026            0 :         case CFN_COND_AND:
   14027            0 :           if (call_expr_nargs (_p1) == 4)
   14028              :     {
   14029            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14030            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14031            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14032            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14033            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14034              :                 {
   14035            0 :                   {
   14036            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14037            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14038            0 :                     if (res) return res;
   14039              :                   }
   14040              :                 }
   14041              :             }
   14042              :           break;
   14043            0 :         case CFN_COND_DIV:
   14044            0 :           if (call_expr_nargs (_p1) == 4)
   14045              :     {
   14046            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14047            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14048            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14049            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14050            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14051              :                 {
   14052            0 :                   {
   14053            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14054            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14055            0 :                     if (res) return res;
   14056              :                   }
   14057              :                 }
   14058              :             }
   14059              :           break;
   14060            0 :         case CFN_COND_IOR:
   14061            0 :           if (call_expr_nargs (_p1) == 4)
   14062              :     {
   14063            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14064            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14065            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14066            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14067            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14068              :                 {
   14069            0 :                   {
   14070            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14071            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14072            0 :                     if (res) return res;
   14073              :                   }
   14074              :                 }
   14075              :             }
   14076              :           break;
   14077            0 :         case CFN_COND_MAX:
   14078            0 :           if (call_expr_nargs (_p1) == 4)
   14079              :     {
   14080            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14081            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14082            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14083            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14084            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14085              :                 {
   14086            0 :                   {
   14087            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14088            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14089            0 :                     if (res) return res;
   14090              :                   }
   14091              :                 }
   14092              :             }
   14093              :           break;
   14094            0 :         case CFN_COND_MIN:
   14095            0 :           if (call_expr_nargs (_p1) == 4)
   14096              :     {
   14097            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14098            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14099            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14100            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14101            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14102              :                 {
   14103            0 :                   {
   14104            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14105            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14106            0 :                     if (res) return res;
   14107              :                   }
   14108              :                 }
   14109              :             }
   14110              :           break;
   14111            0 :         case CFN_COND_MOD:
   14112            0 :           if (call_expr_nargs (_p1) == 4)
   14113              :     {
   14114            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14115            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14116            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14117            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14118            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14119              :                 {
   14120            0 :                   {
   14121            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14122            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14123            0 :                     if (res) return res;
   14124              :                   }
   14125              :                 }
   14126              :             }
   14127              :           break;
   14128            0 :         case CFN_COND_MUL:
   14129            0 :           if (call_expr_nargs (_p1) == 4)
   14130              :     {
   14131            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14132            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14133            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14134            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14135            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14136              :                 {
   14137            0 :                   {
   14138            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14139            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14140            0 :                     if (res) return res;
   14141              :                   }
   14142              :                 }
   14143              :             }
   14144              :           break;
   14145            0 :         case CFN_COND_SHL:
   14146            0 :           if (call_expr_nargs (_p1) == 4)
   14147              :     {
   14148            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14149            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14150            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14151            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14152            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14153              :                 {
   14154            0 :                   {
   14155            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14156            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14157            0 :                     if (res) return res;
   14158              :                   }
   14159              :                 }
   14160              :             }
   14161              :           break;
   14162            0 :         case CFN_COND_SHR:
   14163            0 :           if (call_expr_nargs (_p1) == 4)
   14164              :     {
   14165            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14166            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14167            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14168            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14169            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14170              :                 {
   14171            0 :                   {
   14172            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14173            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14174            0 :                     if (res) return res;
   14175              :                   }
   14176              :                 }
   14177              :             }
   14178              :           break;
   14179            0 :         case CFN_COND_SUB:
   14180            0 :           if (call_expr_nargs (_p1) == 4)
   14181              :     {
   14182            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14183            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14184            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14185            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14186            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14187              :                 {
   14188            0 :                   {
   14189            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14190            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14191            0 :                     if (res) return res;
   14192              :                   }
   14193              :                 }
   14194              :             }
   14195              :           break;
   14196            0 :         case CFN_COND_XOR:
   14197            0 :           if (call_expr_nargs (_p1) == 4)
   14198              :     {
   14199            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14200            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14201            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14202            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14203            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14204              :                 {
   14205            0 :                   {
   14206            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14207            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14208            0 :                     if (res) return res;
   14209              :                   }
   14210              :                 }
   14211              :             }
   14212              :           break;
   14213            0 :         case CFN_COND_COPYSIGN:
   14214            0 :           if (call_expr_nargs (_p1) == 4)
   14215              :     {
   14216            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14217            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14218            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14219            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14220            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14221              :                 {
   14222            0 :                   {
   14223            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14224            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14225            0 :                     if (res) return res;
   14226              :                   }
   14227              :                 }
   14228              :             }
   14229              :           break;
   14230            0 :         case CFN_COND_FMAX:
   14231            0 :           if (call_expr_nargs (_p1) == 4)
   14232              :     {
   14233            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14234            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14235            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14236            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14237            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14238              :                 {
   14239            0 :                   {
   14240            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14241            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14242            0 :                     if (res) return res;
   14243              :                   }
   14244              :                 }
   14245              :             }
   14246              :           break;
   14247            0 :         case CFN_COND_FMIN:
   14248            0 :           if (call_expr_nargs (_p1) == 4)
   14249              :     {
   14250            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14251            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14252            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14253            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14254            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14255              :                 {
   14256            0 :                   {
   14257            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14258            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14259            0 :                     if (res) return res;
   14260              :                   }
   14261              :                 }
   14262              :             }
   14263              :           break;
   14264            0 :         case CFN_COND_RDIV:
   14265            0 :           if (call_expr_nargs (_p1) == 4)
   14266              :     {
   14267            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14268            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14269            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14270            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14271            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14272              :                 {
   14273            0 :                   {
   14274            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14275            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14276            0 :                     if (res) return res;
   14277              :                   }
   14278              :                 }
   14279              :             }
   14280              :           break;
   14281              :         default:;
   14282              :         }
   14283              :       break;
   14284       454017 :     default:;
   14285              :     }
   14286       454017 :   switch (TREE_CODE (_p2))
   14287              :     {
   14288            0 :     case VIEW_CONVERT_EXPR:
   14289            0 :       {
   14290            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   14291            0 :         switch (TREE_CODE (_q40))
   14292              :           {
   14293            0 :           case CALL_EXPR:
   14294            0 :             switch (get_call_combined_fn (_q40))
   14295              :               {
   14296            0 :               case CFN_COND_ADD:
   14297            0 :                 if (call_expr_nargs (_q40) == 4)
   14298              :     {
   14299            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14300            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14301            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14302            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14303            0 :                     {
   14304            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14305            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14306            0 :                       if (res) return res;
   14307              :                     }
   14308              :                   }
   14309              :                 break;
   14310            0 :               case CFN_COND_AND:
   14311            0 :                 if (call_expr_nargs (_q40) == 4)
   14312              :     {
   14313            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14314            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14315            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14316            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14317            0 :                     {
   14318            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14319            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14320            0 :                       if (res) return res;
   14321              :                     }
   14322              :                   }
   14323              :                 break;
   14324            0 :               case CFN_COND_DIV:
   14325            0 :                 if (call_expr_nargs (_q40) == 4)
   14326              :     {
   14327            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14328            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14329            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14330            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14331            0 :                     {
   14332            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14333            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14334            0 :                       if (res) return res;
   14335              :                     }
   14336              :                   }
   14337              :                 break;
   14338            0 :               case CFN_COND_IOR:
   14339            0 :                 if (call_expr_nargs (_q40) == 4)
   14340              :     {
   14341            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14342            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14343            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14344            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14345            0 :                     {
   14346            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14347            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14348            0 :                       if (res) return res;
   14349              :                     }
   14350              :                   }
   14351              :                 break;
   14352            0 :               case CFN_COND_MAX:
   14353            0 :                 if (call_expr_nargs (_q40) == 4)
   14354              :     {
   14355            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14356            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14357            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14358            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14359            0 :                     {
   14360            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14361            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14362            0 :                       if (res) return res;
   14363              :                     }
   14364              :                   }
   14365              :                 break;
   14366            0 :               case CFN_COND_MIN:
   14367            0 :                 if (call_expr_nargs (_q40) == 4)
   14368              :     {
   14369            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14370            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14371            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14372            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14373            0 :                     {
   14374            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14375            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14376            0 :                       if (res) return res;
   14377              :                     }
   14378              :                   }
   14379              :                 break;
   14380            0 :               case CFN_COND_MOD:
   14381            0 :                 if (call_expr_nargs (_q40) == 4)
   14382              :     {
   14383            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14384            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14385            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14386            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14387            0 :                     {
   14388            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14389            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14390            0 :                       if (res) return res;
   14391              :                     }
   14392              :                   }
   14393              :                 break;
   14394            0 :               case CFN_COND_MUL:
   14395            0 :                 if (call_expr_nargs (_q40) == 4)
   14396              :     {
   14397            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14398            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14399            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14400            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14401            0 :                     {
   14402            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14403            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14404            0 :                       if (res) return res;
   14405              :                     }
   14406              :                   }
   14407              :                 break;
   14408            0 :               case CFN_COND_SHL:
   14409            0 :                 if (call_expr_nargs (_q40) == 4)
   14410              :     {
   14411            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14412            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14413            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14414            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14415            0 :                     {
   14416            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14417            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14418            0 :                       if (res) return res;
   14419              :                     }
   14420              :                   }
   14421              :                 break;
   14422            0 :               case CFN_COND_SHR:
   14423            0 :                 if (call_expr_nargs (_q40) == 4)
   14424              :     {
   14425            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14426            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14427            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14428            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14429            0 :                     {
   14430            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14431            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14432            0 :                       if (res) return res;
   14433              :                     }
   14434              :                   }
   14435              :                 break;
   14436            0 :               case CFN_COND_SUB:
   14437            0 :                 if (call_expr_nargs (_q40) == 4)
   14438              :     {
   14439            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14440            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14441            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14442            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14443            0 :                     {
   14444            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14445            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14446            0 :                       if (res) return res;
   14447              :                     }
   14448              :                   }
   14449              :                 break;
   14450            0 :               case CFN_COND_XOR:
   14451            0 :                 if (call_expr_nargs (_q40) == 4)
   14452              :     {
   14453            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14454            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14455            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14456            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14457            0 :                     {
   14458            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14459            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14460            0 :                       if (res) return res;
   14461              :                     }
   14462              :                   }
   14463              :                 break;
   14464            0 :               case CFN_COND_COPYSIGN:
   14465            0 :                 if (call_expr_nargs (_q40) == 4)
   14466              :     {
   14467            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14468            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14469            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14470            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14471            0 :                     {
   14472            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14473            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14474            0 :                       if (res) return res;
   14475              :                     }
   14476              :                   }
   14477              :                 break;
   14478            0 :               case CFN_COND_FMAX:
   14479            0 :                 if (call_expr_nargs (_q40) == 4)
   14480              :     {
   14481            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14482            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14483            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14484            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14485            0 :                     {
   14486            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14487            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14488            0 :                       if (res) return res;
   14489              :                     }
   14490              :                   }
   14491              :                 break;
   14492            0 :               case CFN_COND_FMIN:
   14493            0 :                 if (call_expr_nargs (_q40) == 4)
   14494              :     {
   14495            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14496            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14497            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14498            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14499            0 :                     {
   14500            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14501            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14502            0 :                       if (res) return res;
   14503              :                     }
   14504              :                   }
   14505              :                 break;
   14506            0 :               case CFN_COND_RDIV:
   14507            0 :                 if (call_expr_nargs (_q40) == 4)
   14508              :     {
   14509            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14510            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14511            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14512            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14513            0 :                     {
   14514            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14515            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14516            0 :                       if (res) return res;
   14517              :                     }
   14518              :                   }
   14519              :                 break;
   14520              :               default:;
   14521              :               }
   14522              :             break;
   14523              :           default:;
   14524              :           }
   14525              :         break;
   14526              :       }
   14527           12 :     case CALL_EXPR:
   14528           12 :       switch (get_call_combined_fn (_p2))
   14529              :         {
   14530            0 :         case CFN_COND_ADD:
   14531            0 :           if (call_expr_nargs (_p2) == 4)
   14532              :     {
   14533            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14534            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14535            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14536            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14537            0 :               {
   14538            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14539            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14540            0 :                 if (res) return res;
   14541              :               }
   14542              :             }
   14543              :           break;
   14544            0 :         case CFN_COND_AND:
   14545            0 :           if (call_expr_nargs (_p2) == 4)
   14546              :     {
   14547            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14548            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14549            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14550            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14551            0 :               {
   14552            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14553            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14554            0 :                 if (res) return res;
   14555              :               }
   14556              :             }
   14557              :           break;
   14558            0 :         case CFN_COND_DIV:
   14559            0 :           if (call_expr_nargs (_p2) == 4)
   14560              :     {
   14561            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14562            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14563            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14564            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14565            0 :               {
   14566            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14567            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14568            0 :                 if (res) return res;
   14569              :               }
   14570              :             }
   14571              :           break;
   14572            0 :         case CFN_COND_IOR:
   14573            0 :           if (call_expr_nargs (_p2) == 4)
   14574              :     {
   14575            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14576            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14577            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14578            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14579            0 :               {
   14580            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14581            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14582            0 :                 if (res) return res;
   14583              :               }
   14584              :             }
   14585              :           break;
   14586            0 :         case CFN_COND_MAX:
   14587            0 :           if (call_expr_nargs (_p2) == 4)
   14588              :     {
   14589            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14590            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14591            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14592            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14593            0 :               {
   14594            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14595            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14596            0 :                 if (res) return res;
   14597              :               }
   14598              :             }
   14599              :           break;
   14600            0 :         case CFN_COND_MIN:
   14601            0 :           if (call_expr_nargs (_p2) == 4)
   14602              :     {
   14603            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14604            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14605            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14606            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14607            0 :               {
   14608            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14609            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14610            0 :                 if (res) return res;
   14611              :               }
   14612              :             }
   14613              :           break;
   14614            0 :         case CFN_COND_MOD:
   14615            0 :           if (call_expr_nargs (_p2) == 4)
   14616              :     {
   14617            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14618            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14619            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14620            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14621            0 :               {
   14622            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14623            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14624            0 :                 if (res) return res;
   14625              :               }
   14626              :             }
   14627              :           break;
   14628            0 :         case CFN_COND_MUL:
   14629            0 :           if (call_expr_nargs (_p2) == 4)
   14630              :     {
   14631            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14632            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14633            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14634            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14635            0 :               {
   14636            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14637            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14638            0 :                 if (res) return res;
   14639              :               }
   14640              :             }
   14641              :           break;
   14642            0 :         case CFN_COND_SHL:
   14643            0 :           if (call_expr_nargs (_p2) == 4)
   14644              :     {
   14645            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14646            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14647            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14648            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14649            0 :               {
   14650            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14651            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14652            0 :                 if (res) return res;
   14653              :               }
   14654              :             }
   14655              :           break;
   14656            0 :         case CFN_COND_SHR:
   14657            0 :           if (call_expr_nargs (_p2) == 4)
   14658              :     {
   14659            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14660            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14661            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14662            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14663            0 :               {
   14664            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14665            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14666            0 :                 if (res) return res;
   14667              :               }
   14668              :             }
   14669              :           break;
   14670            0 :         case CFN_COND_SUB:
   14671            0 :           if (call_expr_nargs (_p2) == 4)
   14672              :     {
   14673            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14674            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14675            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14676            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14677            0 :               {
   14678            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14679            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14680            0 :                 if (res) return res;
   14681              :               }
   14682              :             }
   14683              :           break;
   14684            0 :         case CFN_COND_XOR:
   14685            0 :           if (call_expr_nargs (_p2) == 4)
   14686              :     {
   14687            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14688            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14689            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14690            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14691            0 :               {
   14692            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14693            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14694            0 :                 if (res) return res;
   14695              :               }
   14696              :             }
   14697              :           break;
   14698            0 :         case CFN_COND_COPYSIGN:
   14699            0 :           if (call_expr_nargs (_p2) == 4)
   14700              :     {
   14701            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14702            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14703            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14704            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14705            0 :               {
   14706            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14707            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14708            0 :                 if (res) return res;
   14709              :               }
   14710              :             }
   14711              :           break;
   14712            0 :         case CFN_COND_FMAX:
   14713            0 :           if (call_expr_nargs (_p2) == 4)
   14714              :     {
   14715            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14716            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14717            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14718            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14719            0 :               {
   14720            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14721            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14722            0 :                 if (res) return res;
   14723              :               }
   14724              :             }
   14725              :           break;
   14726            0 :         case CFN_COND_FMIN:
   14727            0 :           if (call_expr_nargs (_p2) == 4)
   14728              :     {
   14729            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14730            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14731            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14732            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14733            0 :               {
   14734            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14735            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14736            0 :                 if (res) return res;
   14737              :               }
   14738              :             }
   14739              :           break;
   14740            0 :         case CFN_COND_RDIV:
   14741            0 :           if (call_expr_nargs (_p2) == 4)
   14742              :     {
   14743            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14744            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14745            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14746            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14747            0 :               {
   14748            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14749            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14750            0 :                 if (res) return res;
   14751              :               }
   14752              :             }
   14753              :           break;
   14754              :         default:;
   14755              :         }
   14756              :       break;
   14757       454017 :     default:;
   14758              :     }
   14759       454017 :   switch (TREE_CODE (_p1))
   14760              :     {
   14761            0 :     case VIEW_CONVERT_EXPR:
   14762            0 :       {
   14763            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   14764            0 :         switch (TREE_CODE (_q30))
   14765              :           {
   14766            0 :           case CALL_EXPR:
   14767            0 :             switch (get_call_combined_fn (_q30))
   14768              :               {
   14769            0 :               case CFN_COND_FMA:
   14770            0 :                 if (call_expr_nargs (_q30) == 5)
   14771              :     {
   14772            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14773            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14774            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14775            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14776            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14777            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14778              :                       {
   14779            0 :                         {
   14780            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14781            0 :                           tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14782            0 :                           if (res) return res;
   14783              :                         }
   14784              :                       }
   14785              :                   }
   14786              :                 break;
   14787            0 :               case CFN_COND_FMS:
   14788            0 :                 if (call_expr_nargs (_q30) == 5)
   14789              :     {
   14790            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14791            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14792            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14793            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14794            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14795            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14796              :                       {
   14797            0 :                         {
   14798            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14799            0 :                           tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14800            0 :                           if (res) return res;
   14801              :                         }
   14802              :                       }
   14803              :                   }
   14804              :                 break;
   14805            0 :               case CFN_COND_FNMA:
   14806            0 :                 if (call_expr_nargs (_q30) == 5)
   14807              :     {
   14808            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14809            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14810            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14811            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14812            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14813            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14814              :                       {
   14815            0 :                         {
   14816            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14817            0 :                           tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14818            0 :                           if (res) return res;
   14819              :                         }
   14820              :                       }
   14821              :                   }
   14822              :                 break;
   14823            0 :               case CFN_COND_FNMS:
   14824            0 :                 if (call_expr_nargs (_q30) == 5)
   14825              :     {
   14826            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14827            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14828            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14829            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14830            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14831            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14832              :                       {
   14833            0 :                         {
   14834            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14835            0 :                           tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   14836            0 :                           if (res) return res;
   14837              :                         }
   14838              :                       }
   14839              :                   }
   14840              :                 break;
   14841              :               default:;
   14842              :               }
   14843              :             break;
   14844              :           default:;
   14845              :           }
   14846              :         break;
   14847              :       }
   14848           12 :     case CALL_EXPR:
   14849           12 :       switch (get_call_combined_fn (_p1))
   14850              :         {
   14851            0 :         case CFN_COND_FMA:
   14852            0 :           if (call_expr_nargs (_p1) == 5)
   14853              :     {
   14854            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14855            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14856            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14857            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14858            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14859            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14860              :                 {
   14861            0 :                   {
   14862            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   14863            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14864            0 :                     if (res) return res;
   14865              :                   }
   14866              :                 }
   14867              :             }
   14868              :           break;
   14869            0 :         case CFN_COND_FMS:
   14870            0 :           if (call_expr_nargs (_p1) == 5)
   14871              :     {
   14872            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14873            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14874            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14875            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14876            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14877            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14878              :                 {
   14879            0 :                   {
   14880            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   14881            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14882            0 :                     if (res) return res;
   14883              :                   }
   14884              :                 }
   14885              :             }
   14886              :           break;
   14887            0 :         case CFN_COND_FNMA:
   14888            0 :           if (call_expr_nargs (_p1) == 5)
   14889              :     {
   14890            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14891            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14892            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14893            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14894            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14895            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14896              :                 {
   14897            0 :                   {
   14898            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   14899            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14900            0 :                     if (res) return res;
   14901              :                   }
   14902              :                 }
   14903              :             }
   14904              :           break;
   14905            0 :         case CFN_COND_FNMS:
   14906            0 :           if (call_expr_nargs (_p1) == 5)
   14907              :     {
   14908            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14909            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14910            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14911            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14912            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14913            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14914              :                 {
   14915            0 :                   {
   14916            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   14917            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   14918            0 :                     if (res) return res;
   14919              :                   }
   14920              :                 }
   14921              :             }
   14922              :           break;
   14923              :         default:;
   14924              :         }
   14925              :       break;
   14926       454017 :     default:;
   14927              :     }
   14928       454017 :   switch (TREE_CODE (_p2))
   14929              :     {
   14930            0 :     case VIEW_CONVERT_EXPR:
   14931            0 :       {
   14932            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   14933            0 :         switch (TREE_CODE (_q40))
   14934              :           {
   14935            0 :           case CALL_EXPR:
   14936            0 :             switch (get_call_combined_fn (_q40))
   14937              :               {
   14938            0 :               case CFN_COND_FMA:
   14939            0 :                 if (call_expr_nargs (_q40) == 5)
   14940              :     {
   14941            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14942            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14943            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14944            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14945            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   14946            0 :                     {
   14947            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   14948            0 :                       tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14949            0 :                       if (res) return res;
   14950              :                     }
   14951              :                   }
   14952              :                 break;
   14953            0 :               case CFN_COND_FMS:
   14954            0 :                 if (call_expr_nargs (_q40) == 5)
   14955              :     {
   14956            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14957            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14958            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14959            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14960            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   14961            0 :                     {
   14962            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   14963            0 :                       tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14964            0 :                       if (res) return res;
   14965              :                     }
   14966              :                   }
   14967              :                 break;
   14968            0 :               case CFN_COND_FNMA:
   14969            0 :                 if (call_expr_nargs (_q40) == 5)
   14970              :     {
   14971            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14972            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14973            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14974            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14975            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   14976            0 :                     {
   14977            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   14978            0 :                       tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14979            0 :                       if (res) return res;
   14980              :                     }
   14981              :                   }
   14982              :                 break;
   14983            0 :               case CFN_COND_FNMS:
   14984            0 :                 if (call_expr_nargs (_q40) == 5)
   14985              :     {
   14986            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14987            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14988            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14989            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14990            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   14991            0 :                     {
   14992            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   14993            0 :                       tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   14994            0 :                       if (res) return res;
   14995              :                     }
   14996              :                   }
   14997              :                 break;
   14998              :               default:;
   14999              :               }
   15000              :             break;
   15001              :           default:;
   15002              :           }
   15003              :         break;
   15004              :       }
   15005           12 :     case CALL_EXPR:
   15006           12 :       switch (get_call_combined_fn (_p2))
   15007              :         {
   15008            0 :         case CFN_COND_FMA:
   15009            0 :           if (call_expr_nargs (_p2) == 5)
   15010              :     {
   15011            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15012            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15013            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15014            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15015            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15016            0 :               {
   15017            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15018            0 :                 tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15019            0 :                 if (res) return res;
   15020              :               }
   15021              :             }
   15022              :           break;
   15023            0 :         case CFN_COND_FMS:
   15024            0 :           if (call_expr_nargs (_p2) == 5)
   15025              :     {
   15026            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15027            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15028            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15029            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15030            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15031            0 :               {
   15032            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15033            0 :                 tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15034            0 :                 if (res) return res;
   15035              :               }
   15036              :             }
   15037              :           break;
   15038            0 :         case CFN_COND_FNMA:
   15039            0 :           if (call_expr_nargs (_p2) == 5)
   15040              :     {
   15041            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15042            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15043            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15044            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15045            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15046            0 :               {
   15047            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15048            0 :                 tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15049            0 :                 if (res) return res;
   15050              :               }
   15051              :             }
   15052              :           break;
   15053            0 :         case CFN_COND_FNMS:
   15054            0 :           if (call_expr_nargs (_p2) == 5)
   15055              :     {
   15056            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15057            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15058            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15059            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15060            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15061            0 :               {
   15062            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15063            0 :                 tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15064            0 :                 if (res) return res;
   15065              :               }
   15066              :             }
   15067              :           break;
   15068              :         default:;
   15069              :         }
   15070              :       break;
   15071       454017 :     default:;
   15072              :     }
   15073       454017 :   switch (TREE_CODE (_p1))
   15074              :     {
   15075            0 :     case VIEW_CONVERT_EXPR:
   15076            0 :       {
   15077            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15078            0 :         switch (TREE_CODE (_q30))
   15079              :           {
   15080            0 :           case CALL_EXPR:
   15081            0 :             switch (get_call_combined_fn (_q30))
   15082              :               {
   15083            0 :               case CFN_COND_LEN_ADD:
   15084            0 :                 if (call_expr_nargs (_q30) == 6)
   15085              :     {
   15086            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15087            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15088            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15089            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15090            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15091            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15092            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15093              :                       {
   15094            0 :                         {
   15095            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15096            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15097            0 :                           if (res) return res;
   15098              :                         }
   15099              :                       }
   15100              :                   }
   15101              :                 break;
   15102            0 :               case CFN_COND_LEN_AND:
   15103            0 :                 if (call_expr_nargs (_q30) == 6)
   15104              :     {
   15105            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15106            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15107            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15108            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15109            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15110            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15111            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15112              :                       {
   15113            0 :                         {
   15114            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15115            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15116            0 :                           if (res) return res;
   15117              :                         }
   15118              :                       }
   15119              :                   }
   15120              :                 break;
   15121            0 :               case CFN_COND_LEN_DIV:
   15122            0 :                 if (call_expr_nargs (_q30) == 6)
   15123              :     {
   15124            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15125            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15126            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15127            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15128            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15129            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15130            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15131              :                       {
   15132            0 :                         {
   15133            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15134            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15135            0 :                           if (res) return res;
   15136              :                         }
   15137              :                       }
   15138              :                   }
   15139              :                 break;
   15140            0 :               case CFN_COND_LEN_IOR:
   15141            0 :                 if (call_expr_nargs (_q30) == 6)
   15142              :     {
   15143            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15144            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15145            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15146            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15147            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15148            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15149            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15150              :                       {
   15151            0 :                         {
   15152            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15153            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15154            0 :                           if (res) return res;
   15155              :                         }
   15156              :                       }
   15157              :                   }
   15158              :                 break;
   15159            0 :               case CFN_COND_LEN_MAX:
   15160            0 :                 if (call_expr_nargs (_q30) == 6)
   15161              :     {
   15162            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15163            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15164            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15165            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15166            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15167            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15168            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15169              :                       {
   15170            0 :                         {
   15171            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15172            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15173            0 :                           if (res) return res;
   15174              :                         }
   15175              :                       }
   15176              :                   }
   15177              :                 break;
   15178            0 :               case CFN_COND_LEN_MIN:
   15179            0 :                 if (call_expr_nargs (_q30) == 6)
   15180              :     {
   15181            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15182            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15183            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15184            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15185            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15186            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15187            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15188              :                       {
   15189            0 :                         {
   15190            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15191            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15192            0 :                           if (res) return res;
   15193              :                         }
   15194              :                       }
   15195              :                   }
   15196              :                 break;
   15197            0 :               case CFN_COND_LEN_MOD:
   15198            0 :                 if (call_expr_nargs (_q30) == 6)
   15199              :     {
   15200            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15201            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15202            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15203            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15204            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15205            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15206            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15207              :                       {
   15208            0 :                         {
   15209            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15210            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15211            0 :                           if (res) return res;
   15212              :                         }
   15213              :                       }
   15214              :                   }
   15215              :                 break;
   15216            0 :               case CFN_COND_LEN_MUL:
   15217            0 :                 if (call_expr_nargs (_q30) == 6)
   15218              :     {
   15219            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15220            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15221            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15222            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15223            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15224            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15225            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15226              :                       {
   15227            0 :                         {
   15228            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15229            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15230            0 :                           if (res) return res;
   15231              :                         }
   15232              :                       }
   15233              :                   }
   15234              :                 break;
   15235            0 :               case CFN_COND_LEN_SHL:
   15236            0 :                 if (call_expr_nargs (_q30) == 6)
   15237              :     {
   15238            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15239            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15240            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15241            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15242            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15243            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15244            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15245              :                       {
   15246            0 :                         {
   15247            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15248            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15249            0 :                           if (res) return res;
   15250              :                         }
   15251              :                       }
   15252              :                   }
   15253              :                 break;
   15254            0 :               case CFN_COND_LEN_SHR:
   15255            0 :                 if (call_expr_nargs (_q30) == 6)
   15256              :     {
   15257            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15258            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15259            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15260            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15261            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15262            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15263            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15264              :                       {
   15265            0 :                         {
   15266            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15267            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15268            0 :                           if (res) return res;
   15269              :                         }
   15270              :                       }
   15271              :                   }
   15272              :                 break;
   15273            0 :               case CFN_COND_LEN_SUB:
   15274            0 :                 if (call_expr_nargs (_q30) == 6)
   15275              :     {
   15276            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15277            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15278            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15279            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15280            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15281            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15282            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15283              :                       {
   15284            0 :                         {
   15285            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15286            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15287            0 :                           if (res) return res;
   15288              :                         }
   15289              :                       }
   15290              :                   }
   15291              :                 break;
   15292            0 :               case CFN_COND_LEN_XOR:
   15293            0 :                 if (call_expr_nargs (_q30) == 6)
   15294              :     {
   15295            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15296            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15297            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15298            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15299            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15300            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15301            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15302              :                       {
   15303            0 :                         {
   15304            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15305            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15306            0 :                           if (res) return res;
   15307              :                         }
   15308              :                       }
   15309              :                   }
   15310              :                 break;
   15311            0 :               case CFN_COND_LEN_FMAX:
   15312            0 :                 if (call_expr_nargs (_q30) == 6)
   15313              :     {
   15314            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15315            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15316            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15317            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15318            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15319            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15320            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15321              :                       {
   15322            0 :                         {
   15323            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15324            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15325            0 :                           if (res) return res;
   15326              :                         }
   15327              :                       }
   15328              :                   }
   15329              :                 break;
   15330            0 :               case CFN_COND_LEN_FMIN:
   15331            0 :                 if (call_expr_nargs (_q30) == 6)
   15332              :     {
   15333            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15334            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15335            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15336            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15337            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15338            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15339            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15340              :                       {
   15341            0 :                         {
   15342            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15343            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15344            0 :                           if (res) return res;
   15345              :                         }
   15346              :                       }
   15347              :                   }
   15348              :                 break;
   15349            0 :               case CFN_COND_LEN_RDIV:
   15350            0 :                 if (call_expr_nargs (_q30) == 6)
   15351              :     {
   15352            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15353            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15354            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15355            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15356            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15357            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   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[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15362            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15363            0 :                           if (res) return res;
   15364              :                         }
   15365              :                       }
   15366              :                   }
   15367              :                 break;
   15368            0 :               case CFN_COND_LEN_COPYSIGN:
   15369            0 :                 if (call_expr_nargs (_q30) == 6)
   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 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15376            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15377            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15378              :                       {
   15379            0 :                         {
   15380            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15381            0 :                           tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15382            0 :                           if (res) return res;
   15383              :                         }
   15384              :                       }
   15385              :                   }
   15386              :                 break;
   15387              :               default:;
   15388              :               }
   15389              :             break;
   15390              :           default:;
   15391              :           }
   15392              :         break;
   15393              :       }
   15394           12 :     case CALL_EXPR:
   15395           12 :       switch (get_call_combined_fn (_p1))
   15396              :         {
   15397            0 :         case CFN_COND_LEN_ADD:
   15398            0 :           if (call_expr_nargs (_p1) == 6)
   15399              :     {
   15400            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15401            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15402            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15403            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15404            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15405            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15406            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15407              :                 {
   15408            0 :                   {
   15409            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15410            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15411            0 :                     if (res) return res;
   15412              :                   }
   15413              :                 }
   15414              :             }
   15415              :           break;
   15416            0 :         case CFN_COND_LEN_AND:
   15417            0 :           if (call_expr_nargs (_p1) == 6)
   15418              :     {
   15419            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15420            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15421            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15422            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15423            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15424            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15425            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15426              :                 {
   15427            0 :                   {
   15428            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15429            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15430            0 :                     if (res) return res;
   15431              :                   }
   15432              :                 }
   15433              :             }
   15434              :           break;
   15435            0 :         case CFN_COND_LEN_DIV:
   15436            0 :           if (call_expr_nargs (_p1) == 6)
   15437              :     {
   15438            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15439            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15440            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15441            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15442            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15443            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15444            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15445              :                 {
   15446            0 :                   {
   15447            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15448            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15449            0 :                     if (res) return res;
   15450              :                   }
   15451              :                 }
   15452              :             }
   15453              :           break;
   15454            0 :         case CFN_COND_LEN_IOR:
   15455            0 :           if (call_expr_nargs (_p1) == 6)
   15456              :     {
   15457            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15458            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15459            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15460            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15461            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15462            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15463            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15464              :                 {
   15465            0 :                   {
   15466            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15467            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15468            0 :                     if (res) return res;
   15469              :                   }
   15470              :                 }
   15471              :             }
   15472              :           break;
   15473            0 :         case CFN_COND_LEN_MAX:
   15474            0 :           if (call_expr_nargs (_p1) == 6)
   15475              :     {
   15476            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15477            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15478            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15479            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15480            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15481            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15482            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15483              :                 {
   15484            0 :                   {
   15485            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15486            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15487            0 :                     if (res) return res;
   15488              :                   }
   15489              :                 }
   15490              :             }
   15491              :           break;
   15492            0 :         case CFN_COND_LEN_MIN:
   15493            0 :           if (call_expr_nargs (_p1) == 6)
   15494              :     {
   15495            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15496            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15497            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15498            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15499            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15500            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15501            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15502              :                 {
   15503            0 :                   {
   15504            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15505            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15506            0 :                     if (res) return res;
   15507              :                   }
   15508              :                 }
   15509              :             }
   15510              :           break;
   15511            0 :         case CFN_COND_LEN_MOD:
   15512            0 :           if (call_expr_nargs (_p1) == 6)
   15513              :     {
   15514            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15515            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15516            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15517            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15518            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15519            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15520            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15521              :                 {
   15522            0 :                   {
   15523            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15524            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15525            0 :                     if (res) return res;
   15526              :                   }
   15527              :                 }
   15528              :             }
   15529              :           break;
   15530            0 :         case CFN_COND_LEN_MUL:
   15531            0 :           if (call_expr_nargs (_p1) == 6)
   15532              :     {
   15533            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15534            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15535            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15536            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15537            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15538            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15539            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15540              :                 {
   15541            0 :                   {
   15542            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15543            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15544            0 :                     if (res) return res;
   15545              :                   }
   15546              :                 }
   15547              :             }
   15548              :           break;
   15549            0 :         case CFN_COND_LEN_SHL:
   15550            0 :           if (call_expr_nargs (_p1) == 6)
   15551              :     {
   15552            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15553            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15554            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15555            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15556            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15557            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15558            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15559              :                 {
   15560            0 :                   {
   15561            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15562            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15563            0 :                     if (res) return res;
   15564              :                   }
   15565              :                 }
   15566              :             }
   15567              :           break;
   15568            0 :         case CFN_COND_LEN_SHR:
   15569            0 :           if (call_expr_nargs (_p1) == 6)
   15570              :     {
   15571            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15572            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15573            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15574            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15575            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15576            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15577            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15578              :                 {
   15579            0 :                   {
   15580            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15581            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15582            0 :                     if (res) return res;
   15583              :                   }
   15584              :                 }
   15585              :             }
   15586              :           break;
   15587            0 :         case CFN_COND_LEN_SUB:
   15588            0 :           if (call_expr_nargs (_p1) == 6)
   15589              :     {
   15590            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15591            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15592            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15593            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15594            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15595            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15596            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15597              :                 {
   15598            0 :                   {
   15599            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15600            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15601            0 :                     if (res) return res;
   15602              :                   }
   15603              :                 }
   15604              :             }
   15605              :           break;
   15606            0 :         case CFN_COND_LEN_XOR:
   15607            0 :           if (call_expr_nargs (_p1) == 6)
   15608              :     {
   15609            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15610            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15611            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15612            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15613            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15614            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15615            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15616              :                 {
   15617            0 :                   {
   15618            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15619            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15620            0 :                     if (res) return res;
   15621              :                   }
   15622              :                 }
   15623              :             }
   15624              :           break;
   15625            0 :         case CFN_COND_LEN_FMAX:
   15626            0 :           if (call_expr_nargs (_p1) == 6)
   15627              :     {
   15628            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15629            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15630            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15631            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15632            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15633            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15634            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15635              :                 {
   15636            0 :                   {
   15637            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15638            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15639            0 :                     if (res) return res;
   15640              :                   }
   15641              :                 }
   15642              :             }
   15643              :           break;
   15644            0 :         case CFN_COND_LEN_FMIN:
   15645            0 :           if (call_expr_nargs (_p1) == 6)
   15646              :     {
   15647            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15648            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15649            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15650            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15651            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15652            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15653            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15654              :                 {
   15655            0 :                   {
   15656            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15657            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15658            0 :                     if (res) return res;
   15659              :                   }
   15660              :                 }
   15661              :             }
   15662              :           break;
   15663            0 :         case CFN_COND_LEN_RDIV:
   15664            0 :           if (call_expr_nargs (_p1) == 6)
   15665              :     {
   15666            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15667            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15668            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15669            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15670            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15671            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15672            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15673              :                 {
   15674            0 :                   {
   15675            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15676            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15677            0 :                     if (res) return res;
   15678              :                   }
   15679              :                 }
   15680              :             }
   15681              :           break;
   15682            0 :         case CFN_COND_LEN_COPYSIGN:
   15683            0 :           if (call_expr_nargs (_p1) == 6)
   15684              :     {
   15685            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15686            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15687            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15688            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15689            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15690            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15691            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15692              :                 {
   15693            0 :                   {
   15694            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15695            0 :                     tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15696            0 :                     if (res) return res;
   15697              :                   }
   15698              :                 }
   15699              :             }
   15700              :           break;
   15701              :         default:;
   15702              :         }
   15703              :       break;
   15704       454017 :     default:;
   15705              :     }
   15706       454017 :   switch (TREE_CODE (_p2))
   15707              :     {
   15708            0 :     case VIEW_CONVERT_EXPR:
   15709            0 :       {
   15710            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15711            0 :         switch (TREE_CODE (_q40))
   15712              :           {
   15713            0 :           case CALL_EXPR:
   15714            0 :             switch (get_call_combined_fn (_q40))
   15715              :               {
   15716            0 :               case CFN_COND_LEN_ADD:
   15717            0 :                 if (call_expr_nargs (_q40) == 6)
   15718              :     {
   15719            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15720            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15721            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15722            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15723            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15724            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15725            0 :                     {
   15726            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15727            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15728            0 :                       if (res) return res;
   15729              :                     }
   15730              :                   }
   15731              :                 break;
   15732            0 :               case CFN_COND_LEN_AND:
   15733            0 :                 if (call_expr_nargs (_q40) == 6)
   15734              :     {
   15735            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15736            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15737            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15738            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15739            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15740            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15741            0 :                     {
   15742            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15743            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15744            0 :                       if (res) return res;
   15745              :                     }
   15746              :                   }
   15747              :                 break;
   15748            0 :               case CFN_COND_LEN_DIV:
   15749            0 :                 if (call_expr_nargs (_q40) == 6)
   15750              :     {
   15751            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15752            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15753            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15754            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15755            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15756            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15757            0 :                     {
   15758            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15759            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15760            0 :                       if (res) return res;
   15761              :                     }
   15762              :                   }
   15763              :                 break;
   15764            0 :               case CFN_COND_LEN_IOR:
   15765            0 :                 if (call_expr_nargs (_q40) == 6)
   15766              :     {
   15767            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15768            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15769            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15770            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15771            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15772            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15773            0 :                     {
   15774            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15775            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15776            0 :                       if (res) return res;
   15777              :                     }
   15778              :                   }
   15779              :                 break;
   15780            0 :               case CFN_COND_LEN_MAX:
   15781            0 :                 if (call_expr_nargs (_q40) == 6)
   15782              :     {
   15783            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15784            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15785            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15786            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15787            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15788            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15789            0 :                     {
   15790            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15791            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15792            0 :                       if (res) return res;
   15793              :                     }
   15794              :                   }
   15795              :                 break;
   15796            0 :               case CFN_COND_LEN_MIN:
   15797            0 :                 if (call_expr_nargs (_q40) == 6)
   15798              :     {
   15799            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15800            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15801            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15802            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15803            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15804            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15805            0 :                     {
   15806            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15807            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15808            0 :                       if (res) return res;
   15809              :                     }
   15810              :                   }
   15811              :                 break;
   15812            0 :               case CFN_COND_LEN_MOD:
   15813            0 :                 if (call_expr_nargs (_q40) == 6)
   15814              :     {
   15815            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15816            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15817            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15818            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15819            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15820            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15821            0 :                     {
   15822            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15823            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15824            0 :                       if (res) return res;
   15825              :                     }
   15826              :                   }
   15827              :                 break;
   15828            0 :               case CFN_COND_LEN_MUL:
   15829            0 :                 if (call_expr_nargs (_q40) == 6)
   15830              :     {
   15831            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15832            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15833            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15834            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15835            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15836            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15837            0 :                     {
   15838            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15839            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15840            0 :                       if (res) return res;
   15841              :                     }
   15842              :                   }
   15843              :                 break;
   15844            0 :               case CFN_COND_LEN_SHL:
   15845            0 :                 if (call_expr_nargs (_q40) == 6)
   15846              :     {
   15847            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15848            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15849            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15850            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15851            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15852            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15853            0 :                     {
   15854            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15855            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15856            0 :                       if (res) return res;
   15857              :                     }
   15858              :                   }
   15859              :                 break;
   15860            0 :               case CFN_COND_LEN_SHR:
   15861            0 :                 if (call_expr_nargs (_q40) == 6)
   15862              :     {
   15863            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15864            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15865            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15866            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15867            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15868            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15869            0 :                     {
   15870            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15871            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15872            0 :                       if (res) return res;
   15873              :                     }
   15874              :                   }
   15875              :                 break;
   15876            0 :               case CFN_COND_LEN_SUB:
   15877            0 :                 if (call_expr_nargs (_q40) == 6)
   15878              :     {
   15879            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15880            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15881            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15882            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15883            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15884            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15885            0 :                     {
   15886            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15887            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15888            0 :                       if (res) return res;
   15889              :                     }
   15890              :                   }
   15891              :                 break;
   15892            0 :               case CFN_COND_LEN_XOR:
   15893            0 :                 if (call_expr_nargs (_q40) == 6)
   15894              :     {
   15895            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15896            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15897            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15898            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15899            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15900            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15901            0 :                     {
   15902            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15903            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15904            0 :                       if (res) return res;
   15905              :                     }
   15906              :                   }
   15907              :                 break;
   15908            0 :               case CFN_COND_LEN_FMAX:
   15909            0 :                 if (call_expr_nargs (_q40) == 6)
   15910              :     {
   15911            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15912            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15913            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15914            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15915            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15916            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15917            0 :                     {
   15918            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15919            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15920            0 :                       if (res) return res;
   15921              :                     }
   15922              :                   }
   15923              :                 break;
   15924            0 :               case CFN_COND_LEN_FMIN:
   15925            0 :                 if (call_expr_nargs (_q40) == 6)
   15926              :     {
   15927            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15928            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15929            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15930            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15931            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15932            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15933            0 :                     {
   15934            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15935            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15936            0 :                       if (res) return res;
   15937              :                     }
   15938              :                   }
   15939              :                 break;
   15940            0 :               case CFN_COND_LEN_RDIV:
   15941            0 :                 if (call_expr_nargs (_q40) == 6)
   15942              :     {
   15943            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15944            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15945            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15946            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15947            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15948            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15949            0 :                     {
   15950            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15951            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15952            0 :                       if (res) return res;
   15953              :                     }
   15954              :                   }
   15955              :                 break;
   15956            0 :               case CFN_COND_LEN_COPYSIGN:
   15957            0 :                 if (call_expr_nargs (_q40) == 6)
   15958              :     {
   15959            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15960            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15961            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15962            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15963            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15964            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15965            0 :                     {
   15966            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15967            0 :                       tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15968            0 :                       if (res) return res;
   15969              :                     }
   15970              :                   }
   15971              :                 break;
   15972              :               default:;
   15973              :               }
   15974              :             break;
   15975              :           default:;
   15976              :           }
   15977              :         break;
   15978              :       }
   15979           12 :     case CALL_EXPR:
   15980           12 :       switch (get_call_combined_fn (_p2))
   15981              :         {
   15982            0 :         case CFN_COND_LEN_ADD:
   15983            0 :           if (call_expr_nargs (_p2) == 6)
   15984              :     {
   15985            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15986            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15987            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15988            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15989            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15990            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   15991            0 :               {
   15992            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   15993            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15994            0 :                 if (res) return res;
   15995              :               }
   15996              :             }
   15997              :           break;
   15998            0 :         case CFN_COND_LEN_AND:
   15999            0 :           if (call_expr_nargs (_p2) == 6)
   16000              :     {
   16001            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16002            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16003            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16004            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16005            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16006            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16007            0 :               {
   16008            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16009            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16010            0 :                 if (res) return res;
   16011              :               }
   16012              :             }
   16013              :           break;
   16014            0 :         case CFN_COND_LEN_DIV:
   16015            0 :           if (call_expr_nargs (_p2) == 6)
   16016              :     {
   16017            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16018            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16019            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16020            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16021            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16022            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16023            0 :               {
   16024            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16025            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16026            0 :                 if (res) return res;
   16027              :               }
   16028              :             }
   16029              :           break;
   16030            0 :         case CFN_COND_LEN_IOR:
   16031            0 :           if (call_expr_nargs (_p2) == 6)
   16032              :     {
   16033            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16034            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16035            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16036            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16037            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16038            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16039            0 :               {
   16040            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16041            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16042            0 :                 if (res) return res;
   16043              :               }
   16044              :             }
   16045              :           break;
   16046            0 :         case CFN_COND_LEN_MAX:
   16047            0 :           if (call_expr_nargs (_p2) == 6)
   16048              :     {
   16049            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16050            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16051            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16052            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16053            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16054            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16055            0 :               {
   16056            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16057            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16058            0 :                 if (res) return res;
   16059              :               }
   16060              :             }
   16061              :           break;
   16062            0 :         case CFN_COND_LEN_MIN:
   16063            0 :           if (call_expr_nargs (_p2) == 6)
   16064              :     {
   16065            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16066            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16067            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16068            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16069            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16070            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16071            0 :               {
   16072            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16073            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16074            0 :                 if (res) return res;
   16075              :               }
   16076              :             }
   16077              :           break;
   16078            0 :         case CFN_COND_LEN_MOD:
   16079            0 :           if (call_expr_nargs (_p2) == 6)
   16080              :     {
   16081            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16082            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16083            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16084            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16085            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16086            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16087            0 :               {
   16088            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16089            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16090            0 :                 if (res) return res;
   16091              :               }
   16092              :             }
   16093              :           break;
   16094            0 :         case CFN_COND_LEN_MUL:
   16095            0 :           if (call_expr_nargs (_p2) == 6)
   16096              :     {
   16097            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16098            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16099            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16100            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16101            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16102            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16103            0 :               {
   16104            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16105            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16106            0 :                 if (res) return res;
   16107              :               }
   16108              :             }
   16109              :           break;
   16110            0 :         case CFN_COND_LEN_SHL:
   16111            0 :           if (call_expr_nargs (_p2) == 6)
   16112              :     {
   16113            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16114            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16115            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16116            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16117            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16118            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16119            0 :               {
   16120            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16121            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16122            0 :                 if (res) return res;
   16123              :               }
   16124              :             }
   16125              :           break;
   16126            0 :         case CFN_COND_LEN_SHR:
   16127            0 :           if (call_expr_nargs (_p2) == 6)
   16128              :     {
   16129            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16130            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16131            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16132            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16133            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16134            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16135            0 :               {
   16136            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16137            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16138            0 :                 if (res) return res;
   16139              :               }
   16140              :             }
   16141              :           break;
   16142            0 :         case CFN_COND_LEN_SUB:
   16143            0 :           if (call_expr_nargs (_p2) == 6)
   16144              :     {
   16145            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16146            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16147            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16148            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16149            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16150            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16151            0 :               {
   16152            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16153            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16154            0 :                 if (res) return res;
   16155              :               }
   16156              :             }
   16157              :           break;
   16158            0 :         case CFN_COND_LEN_XOR:
   16159            0 :           if (call_expr_nargs (_p2) == 6)
   16160              :     {
   16161            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16162            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16163            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16164            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16165            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16166            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16167            0 :               {
   16168            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16169            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16170            0 :                 if (res) return res;
   16171              :               }
   16172              :             }
   16173              :           break;
   16174            0 :         case CFN_COND_LEN_FMAX:
   16175            0 :           if (call_expr_nargs (_p2) == 6)
   16176              :     {
   16177            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16178            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16179            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16180            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16181            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16182            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16183            0 :               {
   16184            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16185            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16186            0 :                 if (res) return res;
   16187              :               }
   16188              :             }
   16189              :           break;
   16190            0 :         case CFN_COND_LEN_FMIN:
   16191            0 :           if (call_expr_nargs (_p2) == 6)
   16192              :     {
   16193            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16194            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16195            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16196            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16197            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16198            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16199            0 :               {
   16200            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16201            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16202            0 :                 if (res) return res;
   16203              :               }
   16204              :             }
   16205              :           break;
   16206            0 :         case CFN_COND_LEN_RDIV:
   16207            0 :           if (call_expr_nargs (_p2) == 6)
   16208              :     {
   16209            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16210            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16211            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16212            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16213            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16214            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16215            0 :               {
   16216            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16217            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16218            0 :                 if (res) return res;
   16219              :               }
   16220              :             }
   16221              :           break;
   16222            0 :         case CFN_COND_LEN_COPYSIGN:
   16223            0 :           if (call_expr_nargs (_p2) == 6)
   16224              :     {
   16225            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16226            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16227            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16228            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16229            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16230            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16231            0 :               {
   16232            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16233            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16234            0 :                 if (res) return res;
   16235              :               }
   16236              :             }
   16237              :           break;
   16238              :         default:;
   16239              :         }
   16240              :       break;
   16241       454017 :     default:;
   16242              :     }
   16243       454017 :   switch (TREE_CODE (_p1))
   16244              :     {
   16245            0 :     case VIEW_CONVERT_EXPR:
   16246            0 :       {
   16247            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16248            0 :         switch (TREE_CODE (_q30))
   16249              :           {
   16250            0 :           case CALL_EXPR:
   16251            0 :             switch (get_call_combined_fn (_q30))
   16252              :               {
   16253            0 :               case CFN_COND_LEN_FMA:
   16254            0 :                 if (call_expr_nargs (_q30) == 7)
   16255              :     {
   16256            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16257            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16258            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16259            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16260            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16261            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16262            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16263            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16264              :                       {
   16265            0 :                         {
   16266            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16267            0 :                           tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16268            0 :                           if (res) return res;
   16269              :                         }
   16270              :                       }
   16271              :                   }
   16272              :                 break;
   16273            0 :               case CFN_COND_LEN_FMS:
   16274            0 :                 if (call_expr_nargs (_q30) == 7)
   16275              :     {
   16276            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16277            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16278            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16279            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16280            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16281            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16282            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16283            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16284              :                       {
   16285            0 :                         {
   16286            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16287            0 :                           tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16288            0 :                           if (res) return res;
   16289              :                         }
   16290              :                       }
   16291              :                   }
   16292              :                 break;
   16293            0 :               case CFN_COND_LEN_FNMA:
   16294            0 :                 if (call_expr_nargs (_q30) == 7)
   16295              :     {
   16296            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16297            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16298            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16299            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16300            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16301            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16302            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16303            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16304              :                       {
   16305            0 :                         {
   16306            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16307            0 :                           tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16308            0 :                           if (res) return res;
   16309              :                         }
   16310              :                       }
   16311              :                   }
   16312              :                 break;
   16313            0 :               case CFN_COND_LEN_FNMS:
   16314            0 :                 if (call_expr_nargs (_q30) == 7)
   16315              :     {
   16316            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16317            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16318            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16319            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16320            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16321            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16322            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16323            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16324              :                       {
   16325            0 :                         {
   16326            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16327            0 :                           tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16328            0 :                           if (res) return res;
   16329              :                         }
   16330              :                       }
   16331              :                   }
   16332              :                 break;
   16333              :               default:;
   16334              :               }
   16335              :             break;
   16336              :           default:;
   16337              :           }
   16338              :         break;
   16339              :       }
   16340           12 :     case CALL_EXPR:
   16341           12 :       switch (get_call_combined_fn (_p1))
   16342              :         {
   16343            0 :         case CFN_COND_LEN_FMA:
   16344            0 :           if (call_expr_nargs (_p1) == 7)
   16345              :     {
   16346            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16347            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16348            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16349            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16350            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16351            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16352            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16353            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16354              :                 {
   16355            0 :                   {
   16356            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16357            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16358            0 :                     if (res) return res;
   16359              :                   }
   16360              :                 }
   16361              :             }
   16362              :           break;
   16363            0 :         case CFN_COND_LEN_FMS:
   16364            0 :           if (call_expr_nargs (_p1) == 7)
   16365              :     {
   16366            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16367            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16368            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16369            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16370            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16371            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16372            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16373            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16374              :                 {
   16375            0 :                   {
   16376            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16377            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16378            0 :                     if (res) return res;
   16379              :                   }
   16380              :                 }
   16381              :             }
   16382              :           break;
   16383            0 :         case CFN_COND_LEN_FNMA:
   16384            0 :           if (call_expr_nargs (_p1) == 7)
   16385              :     {
   16386            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16387            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16388            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16389            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16390            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16391            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16392            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16393            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16394              :                 {
   16395            0 :                   {
   16396            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16397            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16398            0 :                     if (res) return res;
   16399              :                   }
   16400              :                 }
   16401              :             }
   16402              :           break;
   16403            0 :         case CFN_COND_LEN_FNMS:
   16404            0 :           if (call_expr_nargs (_p1) == 7)
   16405              :     {
   16406            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16407            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16408            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16409            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16410            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16411            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16412            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16413            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16414              :                 {
   16415            0 :                   {
   16416            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16417            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16418            0 :                     if (res) return res;
   16419              :                   }
   16420              :                 }
   16421              :             }
   16422              :           break;
   16423              :         default:;
   16424              :         }
   16425              :       break;
   16426       454017 :     default:;
   16427              :     }
   16428       454017 :   switch (TREE_CODE (_p2))
   16429              :     {
   16430            0 :     case VIEW_CONVERT_EXPR:
   16431            0 :       {
   16432            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   16433            0 :         switch (TREE_CODE (_q40))
   16434              :           {
   16435            0 :           case CALL_EXPR:
   16436            0 :             switch (get_call_combined_fn (_q40))
   16437              :               {
   16438            0 :               case CFN_COND_LEN_FMA:
   16439            0 :                 if (call_expr_nargs (_q40) == 7)
   16440              :     {
   16441            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16442            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16443            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16444            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16445            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16446            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16447            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16448            0 :                     {
   16449            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16450            0 :                       tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16451            0 :                       if (res) return res;
   16452              :                     }
   16453              :                   }
   16454              :                 break;
   16455            0 :               case CFN_COND_LEN_FMS:
   16456            0 :                 if (call_expr_nargs (_q40) == 7)
   16457              :     {
   16458            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16459            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16460            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16461            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16462            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16463            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16464            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16465            0 :                     {
   16466            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16467            0 :                       tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16468            0 :                       if (res) return res;
   16469              :                     }
   16470              :                   }
   16471              :                 break;
   16472            0 :               case CFN_COND_LEN_FNMA:
   16473            0 :                 if (call_expr_nargs (_q40) == 7)
   16474              :     {
   16475            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16476            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16477            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16478            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16479            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16480            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16481            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16482            0 :                     {
   16483            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16484            0 :                       tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16485            0 :                       if (res) return res;
   16486              :                     }
   16487              :                   }
   16488              :                 break;
   16489            0 :               case CFN_COND_LEN_FNMS:
   16490            0 :                 if (call_expr_nargs (_q40) == 7)
   16491              :     {
   16492            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16493            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16494            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16495            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16496            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16497            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16498            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16499            0 :                     {
   16500            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16501            0 :                       tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16502            0 :                       if (res) return res;
   16503              :                     }
   16504              :                   }
   16505              :                 break;
   16506              :               default:;
   16507              :               }
   16508              :             break;
   16509              :           default:;
   16510              :           }
   16511              :         break;
   16512              :       }
   16513           12 :     case CALL_EXPR:
   16514           12 :       switch (get_call_combined_fn (_p2))
   16515              :         {
   16516            0 :         case CFN_COND_LEN_FMA:
   16517            0 :           if (call_expr_nargs (_p2) == 7)
   16518              :     {
   16519            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16520            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16521            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16522            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16523            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16524            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16525            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16526            0 :               {
   16527            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16528            0 :                 tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16529            0 :                 if (res) return res;
   16530              :               }
   16531              :             }
   16532              :           break;
   16533            0 :         case CFN_COND_LEN_FMS:
   16534            0 :           if (call_expr_nargs (_p2) == 7)
   16535              :     {
   16536            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16537            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16538            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16539            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16540            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16541            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16542            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16543            0 :               {
   16544            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16545            0 :                 tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16546            0 :                 if (res) return res;
   16547              :               }
   16548              :             }
   16549              :           break;
   16550            0 :         case CFN_COND_LEN_FNMA:
   16551            0 :           if (call_expr_nargs (_p2) == 7)
   16552              :     {
   16553            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16554            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16555            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16556            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16557            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16558            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16559            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16560            0 :               {
   16561            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16562            0 :                 tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16563            0 :                 if (res) return res;
   16564              :               }
   16565              :             }
   16566              :           break;
   16567            0 :         case CFN_COND_LEN_FNMS:
   16568            0 :           if (call_expr_nargs (_p2) == 7)
   16569              :     {
   16570            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16571            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16572            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16573            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16574            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16575            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16576            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16577            0 :               {
   16578            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16579            0 :                 tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16580            0 :                 if (res) return res;
   16581              :               }
   16582              :             }
   16583              :           break;
   16584              :         default:;
   16585              :         }
   16586              :       break;
   16587       454017 :     default:;
   16588              :     }
   16589       454017 :   switch (TREE_CODE (_p1))
   16590              :     {
   16591           12 :     case CALL_EXPR:
   16592           12 :       switch (get_call_combined_fn (_p1))
   16593              :         {
   16594            0 :         case CFN_COND_ADD:
   16595            0 :           if (call_expr_nargs (_p1) == 4)
   16596              :     {
   16597            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16598            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16599            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16600            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16601            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16602              :                 {
   16603            0 :                   {
   16604            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16605            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   16606            0 :                     if (res) return res;
   16607              :                   }
   16608              :                 }
   16609              :             }
   16610              :           break;
   16611            0 :         case CFN_COND_AND:
   16612            0 :           if (call_expr_nargs (_p1) == 4)
   16613              :     {
   16614            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16615            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16616            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16617            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16618            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16619              :                 {
   16620            0 :                   {
   16621            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16622            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   16623            0 :                     if (res) return res;
   16624              :                   }
   16625              :                 }
   16626              :             }
   16627              :           break;
   16628            0 :         case CFN_COND_DIV:
   16629            0 :           if (call_expr_nargs (_p1) == 4)
   16630              :     {
   16631            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16632            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16633            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16634            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16635            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16636              :                 {
   16637            0 :                   {
   16638            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16639            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   16640            0 :                     if (res) return res;
   16641              :                   }
   16642              :                 }
   16643              :             }
   16644              :           break;
   16645            0 :         case CFN_COND_FMA:
   16646            0 :           if (call_expr_nargs (_p1) == 5)
   16647              :     {
   16648            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16649            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16650            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16651            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16652            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16653            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16654              :                 {
   16655            0 :                   {
   16656            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16657            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16658            0 :                     if (res) return res;
   16659              :                   }
   16660              :                 }
   16661              :             }
   16662              :           break;
   16663            0 :         case CFN_COND_FMS:
   16664            0 :           if (call_expr_nargs (_p1) == 5)
   16665              :     {
   16666            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16667            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16668            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16669            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16670            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16671            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16672              :                 {
   16673            0 :                   {
   16674            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16675            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16676            0 :                     if (res) return res;
   16677              :                   }
   16678              :                 }
   16679              :             }
   16680              :           break;
   16681            0 :         case CFN_COND_IOR:
   16682            0 :           if (call_expr_nargs (_p1) == 4)
   16683              :     {
   16684            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16685            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16686            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16687            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16688            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16689              :                 {
   16690            0 :                   {
   16691            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16692            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   16693            0 :                     if (res) return res;
   16694              :                   }
   16695              :                 }
   16696              :             }
   16697              :           break;
   16698            0 :         case CFN_COND_MAX:
   16699            0 :           if (call_expr_nargs (_p1) == 4)
   16700              :     {
   16701            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16702            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16703            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16704            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16705            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16706              :                 {
   16707            0 :                   {
   16708            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16709            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   16710            0 :                     if (res) return res;
   16711              :                   }
   16712              :                 }
   16713              :             }
   16714              :           break;
   16715            0 :         case CFN_COND_MIN:
   16716            0 :           if (call_expr_nargs (_p1) == 4)
   16717              :     {
   16718            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16719            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16720            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16721            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16722            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16723              :                 {
   16724            0 :                   {
   16725            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16726            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   16727            0 :                     if (res) return res;
   16728              :                   }
   16729              :                 }
   16730              :             }
   16731              :           break;
   16732            0 :         case CFN_COND_MOD:
   16733            0 :           if (call_expr_nargs (_p1) == 4)
   16734              :     {
   16735            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16736            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16737            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16738            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16739            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16740              :                 {
   16741            0 :                   {
   16742            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16743            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   16744            0 :                     if (res) return res;
   16745              :                   }
   16746              :                 }
   16747              :             }
   16748              :           break;
   16749            0 :         case CFN_COND_MUL:
   16750            0 :           if (call_expr_nargs (_p1) == 4)
   16751              :     {
   16752            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16753            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16754            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16755            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16756            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16757              :                 {
   16758            0 :                   {
   16759            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16760            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   16761            0 :                     if (res) return res;
   16762              :                   }
   16763              :                 }
   16764              :             }
   16765              :           break;
   16766            0 :         case CFN_COND_SHL:
   16767            0 :           if (call_expr_nargs (_p1) == 4)
   16768              :     {
   16769            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16770            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16771            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16772            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16773            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16774              :                 {
   16775            0 :                   {
   16776            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16777            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   16778            0 :                     if (res) return res;
   16779              :                   }
   16780              :                 }
   16781              :             }
   16782              :           break;
   16783            0 :         case CFN_COND_SHR:
   16784            0 :           if (call_expr_nargs (_p1) == 4)
   16785              :     {
   16786            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16787            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16788            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16789            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16790            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16791              :                 {
   16792            0 :                   {
   16793            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16794            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   16795            0 :                     if (res) return res;
   16796              :                   }
   16797              :                 }
   16798              :             }
   16799              :           break;
   16800            0 :         case CFN_COND_SUB:
   16801            0 :           if (call_expr_nargs (_p1) == 4)
   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 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16808              :                 {
   16809            0 :                   {
   16810            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16811            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   16812            0 :                     if (res) return res;
   16813              :                   }
   16814              :                 }
   16815              :             }
   16816              :           break;
   16817            0 :         case CFN_COND_XOR:
   16818            0 :           if (call_expr_nargs (_p1) == 4)
   16819              :     {
   16820            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16821            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16822            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16823            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16824            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16825              :                 {
   16826            0 :                   {
   16827            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16828            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   16829            0 :                     if (res) return res;
   16830              :                   }
   16831              :                 }
   16832              :             }
   16833              :           break;
   16834            0 :         case CFN_COND_COPYSIGN:
   16835            0 :           if (call_expr_nargs (_p1) == 4)
   16836              :     {
   16837            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16838            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16839            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16840            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16841            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16842              :                 {
   16843            0 :                   {
   16844            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16845            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   16846            0 :                     if (res) return res;
   16847              :                   }
   16848              :                 }
   16849              :             }
   16850              :           break;
   16851            0 :         case CFN_COND_FMAX:
   16852            0 :           if (call_expr_nargs (_p1) == 4)
   16853              :     {
   16854            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16855            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16856            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16857            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16858            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16859              :                 {
   16860            0 :                   {
   16861            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16862            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   16863            0 :                     if (res) return res;
   16864              :                   }
   16865              :                 }
   16866              :             }
   16867              :           break;
   16868            0 :         case CFN_COND_FMIN:
   16869            0 :           if (call_expr_nargs (_p1) == 4)
   16870              :     {
   16871            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16872            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16873            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16874            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16875            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16876              :                 {
   16877            0 :                   {
   16878            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16879            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   16880            0 :                     if (res) return res;
   16881              :                   }
   16882              :                 }
   16883              :             }
   16884              :           break;
   16885            0 :         case CFN_COND_FNMA:
   16886            0 :           if (call_expr_nargs (_p1) == 5)
   16887              :     {
   16888            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16889            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16890            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16891            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16892            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16893            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16894              :                 {
   16895            0 :                   {
   16896            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16897            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   16898            0 :                     if (res) return res;
   16899              :                   }
   16900              :                 }
   16901              :             }
   16902              :           break;
   16903            0 :         case CFN_COND_FNMS:
   16904            0 :           if (call_expr_nargs (_p1) == 5)
   16905              :     {
   16906            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16907            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16908            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16909            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16910            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16911            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16912              :                 {
   16913            0 :                   {
   16914            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16915            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   16916            0 :                     if (res) return res;
   16917              :                   }
   16918              :                 }
   16919              :             }
   16920              :           break;
   16921            0 :         case CFN_COND_RDIV:
   16922            0 :           if (call_expr_nargs (_p1) == 4)
   16923              :     {
   16924            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16925            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16926            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16927            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16928            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16929              :                 {
   16930            0 :                   {
   16931            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16932            0 :                     tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   16933            0 :                     if (res) return res;
   16934              :                   }
   16935              :                 }
   16936              :             }
   16937              :           break;
   16938              :         default:;
   16939              :         }
   16940              :       break;
   16941              :     default:;
   16942              :     }
   16943              :   return NULL_TREE;
   16944              : }
   16945              : #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.