/* Generated automatically by the program `genrecog' from the target
   machine description file.  */

#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tm_p.h"
#include "function.h"
#include "insn-config.h"
#include "recog.h"
#include "output.h"
#include "flags.h"
#include "hard-reg-set.h"
#include "resource.h"
#include "diagnostic-core.h"
#include "reload.h"
#include "regs.h"
#include "tm-constrs.h"



/* `recog' contains a decision tree that recognizes whether the rtx
   X0 is a valid instruction.

   recog returns -1 if the rtx is not valid.  If the rtx is valid, recog
   returns a nonnegative number which is the insn code number for the
   pattern that matched.  This is the same as the order in the machine
   description of the entry that matched.  This number can be used as an
   index into `insn_data' and other tables.

   The third argument to recog is an optional pointer to an int.  If
   present, recog will accept a pattern if it matches except for missing
   CLOBBER expressions at the end.  In that case, the value pointed to by
   the optional pointer will be set to the number of CLOBBERs that need
   to be added (it should be initialized to zero by the caller).  If it
   is set nonzero, the caller should allocate a PARALLEL of the
   appropriate size, copy the initial entries, and call add_clobbers
   (found in insn-emit.c) to fill in the CLOBBERs.


   The function split_insns returns 0 if the rtl could not
   be split or the split rtl as an INSN list if it can be.

   The function peephole2_insns returns 0 if the rtl could not
   be matched. If there was a match, the new rtl is returned in an INSN list,
   and LAST_INSN will point to the last recognized insn in the old sequence.
*/


extern rtx gen_split_2078 (rtx, rtx *);
extern rtx gen_split_2079 (rtx, rtx *);
extern rtx gen_split_2080 (rtx, rtx *);
extern rtx gen_split_2081 (rtx, rtx *);
extern rtx gen_split_2082 (rtx, rtx *);
extern rtx gen_split_2083 (rtx, rtx *);
extern rtx gen_split_2084 (rtx, rtx *);
extern rtx gen_split_2085 (rtx, rtx *);
extern rtx gen_peephole2_2086 (rtx, rtx *);
extern rtx gen_peephole2_2087 (rtx, rtx *);
extern rtx gen_split_2088 (rtx, rtx *);
extern rtx gen_split_2089 (rtx, rtx *);
extern rtx gen_split_2097 (rtx, rtx *);
extern rtx gen_split_2100 (rtx, rtx *);
extern rtx gen_split_2105 (rtx, rtx *);
extern rtx gen_split_2106 (rtx, rtx *);
extern rtx gen_split_2107 (rtx, rtx *);
extern rtx gen_split_2108 (rtx, rtx *);
extern rtx gen_split_2109 (rtx, rtx *);
extern rtx gen_split_2110 (rtx, rtx *);
extern rtx gen_split_2111 (rtx, rtx *);
extern rtx gen_split_2112 (rtx, rtx *);
extern rtx gen_split_2113 (rtx, rtx *);
extern rtx gen_split_2114 (rtx, rtx *);
extern rtx gen_split_2119 (rtx, rtx *);
extern rtx gen_split_2120 (rtx, rtx *);
extern rtx gen_split_2121 (rtx, rtx *);
extern rtx gen_split_2122 (rtx, rtx *);
extern rtx gen_split_2123 (rtx, rtx *);
extern rtx gen_split_2124 (rtx, rtx *);
extern rtx gen_split_2126 (rtx, rtx *);
extern rtx gen_split_2127 (rtx, rtx *);
extern rtx gen_split_2128 (rtx, rtx *);
extern rtx gen_split_2130 (rtx, rtx *);
extern rtx gen_split_2133 (rtx, rtx *);
extern rtx gen_split_2134 (rtx, rtx *);
extern rtx gen_split_2135 (rtx, rtx *);
extern rtx gen_split_2136 (rtx, rtx *);
extern rtx gen_split_2137 (rtx, rtx *);
extern rtx gen_split_2138 (rtx, rtx *);
extern rtx gen_split_2140 (rtx, rtx *);
extern rtx gen_split_2141 (rtx, rtx *);
extern rtx gen_split_2142 (rtx, rtx *);
extern rtx gen_split_2143 (rtx, rtx *);
extern rtx gen_split_2144 (rtx, rtx *);
extern rtx gen_split_2145 (rtx, rtx *);
extern rtx gen_split_2146 (rtx, rtx *);
extern rtx gen_split_2147 (rtx, rtx *);
extern rtx gen_split_2148 (rtx, rtx *);
extern rtx gen_split_2150 (rtx, rtx *);
extern rtx gen_split_2154 (rtx, rtx *);
extern rtx gen_split_2156 (rtx, rtx *);
extern rtx gen_split_2159 (rtx, rtx *);
extern rtx gen_split_2160 (rtx, rtx *);
extern rtx gen_split_2161 (rtx, rtx *);
extern rtx gen_split_2162 (rtx, rtx *);
extern rtx gen_split_2174 (rtx, rtx *);
extern rtx gen_split_2175 (rtx, rtx *);
extern rtx gen_peephole2_2178 (rtx, rtx *);
extern rtx gen_peephole2_2179 (rtx, rtx *);
extern rtx gen_peephole2_2180 (rtx, rtx *);
extern rtx gen_peephole2_2181 (rtx, rtx *);
extern rtx gen_peephole2_2182 (rtx, rtx *);
extern rtx gen_peephole2_2183 (rtx, rtx *);
extern rtx gen_peephole2_2184 (rtx, rtx *);
extern rtx gen_peephole2_2185 (rtx, rtx *);
extern rtx gen_split_2186 (rtx, rtx *);
extern rtx gen_split_2187 (rtx, rtx *);
extern rtx gen_split_2188 (rtx, rtx *);
extern rtx gen_split_2189 (rtx, rtx *);
extern rtx gen_split_2190 (rtx, rtx *);
extern rtx gen_split_2191 (rtx, rtx *);
extern rtx gen_split_2192 (rtx, rtx *);
extern rtx gen_split_2193 (rtx, rtx *);
extern rtx gen_split_2194 (rtx, rtx *);
extern rtx gen_split_2195 (rtx, rtx *);
extern rtx gen_split_2196 (rtx, rtx *);
extern rtx gen_split_2197 (rtx, rtx *);
extern rtx gen_split_2198 (rtx, rtx *);
extern rtx gen_split_2199 (rtx, rtx *);
extern rtx gen_split_2200 (rtx, rtx *);
extern rtx gen_split_2201 (rtx, rtx *);
extern rtx gen_split_2202 (rtx, rtx *);
extern rtx gen_split_2203 (rtx, rtx *);
extern rtx gen_split_2207 (rtx, rtx *);
extern rtx gen_split_2208 (rtx, rtx *);
extern rtx gen_split_2209 (rtx, rtx *);
extern rtx gen_split_2210 (rtx, rtx *);
extern rtx gen_split_2211 (rtx, rtx *);
extern rtx gen_split_2212 (rtx, rtx *);
extern rtx gen_split_2213 (rtx, rtx *);
extern rtx gen_split_2214 (rtx, rtx *);
extern rtx gen_split_2215 (rtx, rtx *);
extern rtx gen_split_2222 (rtx, rtx *);
extern rtx gen_split_2223 (rtx, rtx *);
extern rtx gen_split_2224 (rtx, rtx *);
extern rtx gen_split_2225 (rtx, rtx *);
extern rtx gen_split_2226 (rtx, rtx *);
extern rtx gen_split_2227 (rtx, rtx *);
extern rtx gen_split_2228 (rtx, rtx *);
extern rtx gen_split_2229 (rtx, rtx *);
extern rtx gen_split_2230 (rtx, rtx *);
extern rtx gen_split_2231 (rtx, rtx *);
extern rtx gen_split_2232 (rtx, rtx *);
extern rtx gen_split_2233 (rtx, rtx *);
extern rtx gen_split_2234 (rtx, rtx *);
extern rtx gen_split_2235 (rtx, rtx *);
extern rtx gen_split_2236 (rtx, rtx *);
extern rtx gen_split_2237 (rtx, rtx *);
extern rtx gen_split_2238 (rtx, rtx *);
extern rtx gen_split_2239 (rtx, rtx *);
extern rtx gen_split_2240 (rtx, rtx *);
extern rtx gen_split_2241 (rtx, rtx *);
extern rtx gen_split_2242 (rtx, rtx *);
extern rtx gen_split_2243 (rtx, rtx *);
extern rtx gen_split_2244 (rtx, rtx *);
extern rtx gen_split_2245 (rtx, rtx *);
extern rtx gen_split_2246 (rtx, rtx *);
extern rtx gen_split_2247 (rtx, rtx *);
extern rtx gen_split_2248 (rtx, rtx *);
extern rtx gen_split_2249 (rtx, rtx *);
extern rtx gen_split_2250 (rtx, rtx *);
extern rtx gen_split_2251 (rtx, rtx *);
extern rtx gen_split_2252 (rtx, rtx *);
extern rtx gen_split_2253 (rtx, rtx *);
extern rtx gen_split_2254 (rtx, rtx *);
extern rtx gen_split_2255 (rtx, rtx *);
extern rtx gen_split_2256 (rtx, rtx *);
extern rtx gen_split_2257 (rtx, rtx *);
extern rtx gen_split_2258 (rtx, rtx *);
extern rtx gen_split_2259 (rtx, rtx *);
extern rtx gen_split_2260 (rtx, rtx *);
extern rtx gen_split_2261 (rtx, rtx *);
extern rtx gen_split_2262 (rtx, rtx *);
extern rtx gen_split_2263 (rtx, rtx *);
extern rtx gen_split_2264 (rtx, rtx *);
extern rtx gen_split_2265 (rtx, rtx *);
extern rtx gen_split_2266 (rtx, rtx *);
extern rtx gen_split_2267 (rtx, rtx *);
extern rtx gen_split_2268 (rtx, rtx *);
extern rtx gen_split_2269 (rtx, rtx *);
extern rtx gen_split_2270 (rtx, rtx *);
extern rtx gen_split_2271 (rtx, rtx *);
extern rtx gen_split_2272 (rtx, rtx *);
extern rtx gen_split_2273 (rtx, rtx *);
extern rtx gen_split_2274 (rtx, rtx *);
extern rtx gen_split_2275 (rtx, rtx *);
extern rtx gen_split_2276 (rtx, rtx *);
extern rtx gen_split_2277 (rtx, rtx *);
extern rtx gen_split_2278 (rtx, rtx *);
extern rtx gen_split_2279 (rtx, rtx *);
extern rtx gen_split_2285 (rtx, rtx *);
extern rtx gen_split_2286 (rtx, rtx *);
extern rtx gen_split_2292 (rtx, rtx *);
extern rtx gen_split_2293 (rtx, rtx *);
extern rtx gen_split_2294 (rtx, rtx *);
extern rtx gen_split_2295 (rtx, rtx *);
extern rtx gen_split_2296 (rtx, rtx *);
extern rtx gen_split_2297 (rtx, rtx *);
extern rtx gen_split_2298 (rtx, rtx *);
extern rtx gen_split_2299 (rtx, rtx *);
extern rtx gen_split_2300 (rtx, rtx *);
extern rtx gen_split_2301 (rtx, rtx *);
extern rtx gen_split_2302 (rtx, rtx *);
extern rtx gen_split_2303 (rtx, rtx *);
extern rtx gen_split_2304 (rtx, rtx *);
extern rtx gen_split_2305 (rtx, rtx *);
extern rtx gen_split_2311 (rtx, rtx *);
extern rtx gen_split_2312 (rtx, rtx *);
extern rtx gen_split_2337 (rtx, rtx *);
extern rtx gen_split_2338 (rtx, rtx *);
extern rtx gen_split_2352 (rtx, rtx *);
extern rtx gen_split_2353 (rtx, rtx *);
extern rtx gen_split_2354 (rtx, rtx *);
extern rtx gen_split_2355 (rtx, rtx *);
extern rtx gen_split_2356 (rtx, rtx *);
extern rtx gen_split_2357 (rtx, rtx *);
extern rtx gen_split_2358 (rtx, rtx *);
extern rtx gen_split_2363 (rtx, rtx *);
extern rtx gen_split_2364 (rtx, rtx *);
extern rtx gen_split_2365 (rtx, rtx *);
extern rtx gen_split_2366 (rtx, rtx *);
extern rtx gen_split_2367 (rtx, rtx *);
extern rtx gen_split_2368 (rtx, rtx *);
extern rtx gen_split_2369 (rtx, rtx *);
extern rtx gen_split_2375 (rtx, rtx *);
extern rtx gen_split_2376 (rtx, rtx *);
extern rtx gen_split_2377 (rtx, rtx *);
extern rtx gen_split_2382 (rtx, rtx *);
extern rtx gen_split_2383 (rtx, rtx *);
extern rtx gen_split_2384 (rtx, rtx *);
extern rtx gen_split_2385 (rtx, rtx *);
extern rtx gen_split_2386 (rtx, rtx *);
extern rtx gen_split_2395 (rtx, rtx *);
extern rtx gen_split_2396 (rtx, rtx *);
extern rtx gen_split_2397 (rtx, rtx *);
extern rtx gen_split_2398 (rtx, rtx *);
extern rtx gen_split_2405 (rtx, rtx *);
extern rtx gen_split_2406 (rtx, rtx *);
extern rtx gen_split_2415 (rtx, rtx *);
extern rtx gen_split_2416 (rtx, rtx *);
extern rtx gen_split_2417 (rtx, rtx *);
extern rtx gen_split_2418 (rtx, rtx *);
extern rtx gen_split_2419 (rtx, rtx *);
extern rtx gen_split_2423 (rtx, rtx *);
extern rtx gen_split_2424 (rtx, rtx *);
extern rtx gen_split_2425 (rtx, rtx *);
extern rtx gen_split_2426 (rtx, rtx *);
extern rtx gen_split_2427 (rtx, rtx *);
extern rtx gen_split_2428 (rtx, rtx *);
extern rtx gen_split_2433 (rtx, rtx *);
extern rtx gen_split_2434 (rtx, rtx *);
extern rtx gen_split_2435 (rtx, rtx *);
extern rtx gen_split_2436 (rtx, rtx *);
extern rtx gen_split_2437 (rtx, rtx *);
extern rtx gen_split_2443 (rtx, rtx *);
extern rtx gen_split_2444 (rtx, rtx *);
extern rtx gen_peephole2_2445 (rtx, rtx *);
extern rtx gen_peephole2_2446 (rtx, rtx *);
extern rtx gen_split_2451 (rtx, rtx *);
extern rtx gen_split_2452 (rtx, rtx *);
extern rtx gen_split_2453 (rtx, rtx *);
extern rtx gen_split_2454 (rtx, rtx *);
extern rtx gen_split_2455 (rtx, rtx *);
extern rtx gen_split_2466 (rtx, rtx *);
extern rtx gen_split_2467 (rtx, rtx *);
extern rtx gen_split_2468 (rtx, rtx *);
extern rtx gen_split_2469 (rtx, rtx *);
extern rtx gen_peephole2_2470 (rtx, rtx *);
extern rtx gen_peephole2_2471 (rtx, rtx *);
extern rtx gen_peephole2_2472 (rtx, rtx *);
extern rtx gen_peephole2_2473 (rtx, rtx *);
extern rtx gen_split_2476 (rtx, rtx *);
extern rtx gen_split_2477 (rtx, rtx *);
extern rtx gen_split_2478 (rtx, rtx *);
extern rtx gen_split_2479 (rtx, rtx *);
extern rtx gen_split_2480 (rtx, rtx *);
extern rtx gen_split_2481 (rtx, rtx *);
extern rtx gen_split_2492 (rtx, rtx *);
extern rtx gen_split_2493 (rtx, rtx *);
extern rtx gen_split_2494 (rtx, rtx *);
extern rtx gen_split_2495 (rtx, rtx *);
extern rtx gen_split_2496 (rtx, rtx *);
extern rtx gen_split_2497 (rtx, rtx *);
extern rtx gen_split_2498 (rtx, rtx *);
extern rtx gen_split_2499 (rtx, rtx *);
extern rtx gen_split_2500 (rtx, rtx *);
extern rtx gen_split_2501 (rtx, rtx *);
extern rtx gen_split_2502 (rtx, rtx *);
extern rtx gen_split_2503 (rtx, rtx *);
extern rtx gen_peephole2_2507 (rtx, rtx *);
extern rtx gen_peephole2_2508 (rtx, rtx *);
extern rtx gen_peephole2_2509 (rtx, rtx *);
extern rtx gen_split_2510 (rtx, rtx *);
extern rtx gen_split_2511 (rtx, rtx *);
extern rtx gen_split_2512 (rtx, rtx *);
extern rtx gen_split_2513 (rtx, rtx *);
extern rtx gen_split_2514 (rtx, rtx *);
extern rtx gen_split_2515 (rtx, rtx *);
extern rtx gen_split_2516 (rtx, rtx *);
extern rtx gen_split_2517 (rtx, rtx *);
extern rtx gen_split_2518 (rtx, rtx *);
extern rtx gen_split_2519 (rtx, rtx *);
extern rtx gen_split_2520 (rtx, rtx *);
extern rtx gen_split_2521 (rtx, rtx *);
extern rtx gen_split_2522 (rtx, rtx *);
extern rtx gen_split_2523 (rtx, rtx *);
extern rtx gen_split_2524 (rtx, rtx *);
extern rtx gen_split_2525 (rtx, rtx *);
extern rtx gen_split_2526 (rtx, rtx *);
extern rtx gen_split_2527 (rtx, rtx *);
extern rtx gen_split_2528 (rtx, rtx *);
extern rtx gen_split_2529 (rtx, rtx *);
extern rtx gen_split_2530 (rtx, rtx *);
extern rtx gen_peephole2_2533 (rtx, rtx *);
extern rtx gen_peephole2_2534 (rtx, rtx *);
extern rtx gen_split_2537 (rtx, rtx *);
extern rtx gen_split_2538 (rtx, rtx *);
extern rtx gen_split_2539 (rtx, rtx *);
extern rtx gen_split_2540 (rtx, rtx *);
extern rtx gen_split_2541 (rtx, rtx *);
extern rtx gen_split_2543 (rtx, rtx *);
extern rtx gen_split_2544 (rtx, rtx *);
extern rtx gen_split_2547 (rtx, rtx *);
extern rtx gen_split_2548 (rtx, rtx *);
extern rtx gen_split_2549 (rtx, rtx *);
extern rtx gen_split_2550 (rtx, rtx *);
extern rtx gen_split_2551 (rtx, rtx *);
extern rtx gen_split_2553 (rtx, rtx *);
extern rtx gen_split_2554 (rtx, rtx *);
extern rtx gen_split_2563 (rtx, rtx *);
extern rtx gen_split_2568 (rtx, rtx *);
extern rtx gen_split_2576 (rtx, rtx *);
extern rtx gen_split_2577 (rtx, rtx *);
extern rtx gen_split_2582 (rtx, rtx *);
extern rtx gen_split_2584 (rtx, rtx *);
extern rtx gen_split_2586 (rtx, rtx *);
extern rtx gen_split_2587 (rtx, rtx *);
extern rtx gen_split_2588 (rtx, rtx *);
extern rtx gen_split_2589 (rtx, rtx *);
extern rtx gen_split_2590 (rtx, rtx *);
extern rtx gen_split_2600 (rtx, rtx *);
extern rtx gen_split_2601 (rtx, rtx *);
extern rtx gen_split_2602 (rtx, rtx *);
extern rtx gen_split_2603 (rtx, rtx *);
extern rtx gen_split_2604 (rtx, rtx *);
extern rtx gen_split_2605 (rtx, rtx *);
extern rtx gen_split_2668 (rtx, rtx *);
extern rtx gen_split_2669 (rtx, rtx *);
extern rtx gen_split_2670 (rtx, rtx *);
extern rtx gen_split_2671 (rtx, rtx *);
extern rtx gen_split_2672 (rtx, rtx *);
extern rtx gen_split_2673 (rtx, rtx *);
extern rtx gen_split_2674 (rtx, rtx *);
extern rtx gen_split_2675 (rtx, rtx *);
extern rtx gen_split_2676 (rtx, rtx *);
extern rtx gen_split_2693 (rtx, rtx *);
extern rtx gen_split_2697 (rtx, rtx *);
extern rtx gen_split_2698 (rtx, rtx *);
extern rtx gen_split_2699 (rtx, rtx *);
extern rtx gen_split_2700 (rtx, rtx *);
extern rtx gen_split_2701 (rtx, rtx *);
extern rtx gen_split_2702 (rtx, rtx *);
extern rtx gen_split_2703 (rtx, rtx *);
extern rtx gen_split_2704 (rtx, rtx *);
extern rtx gen_split_2705 (rtx, rtx *);
extern rtx gen_split_2713 (rtx, rtx *);
extern rtx gen_split_2717 (rtx, rtx *);
extern rtx gen_split_2718 (rtx, rtx *);
extern rtx gen_split_2719 (rtx, rtx *);
extern rtx gen_split_2720 (rtx, rtx *);
extern rtx gen_split_2721 (rtx, rtx *);
extern rtx gen_split_2722 (rtx, rtx *);
extern rtx gen_split_2723 (rtx, rtx *);
extern rtx gen_split_2724 (rtx, rtx *);
extern rtx gen_split_2725 (rtx, rtx *);
extern rtx gen_split_2733 (rtx, rtx *);
extern rtx gen_split_2737 (rtx, rtx *);
extern rtx gen_split_2741 (rtx, rtx *);
extern rtx gen_split_2742 (rtx, rtx *);
extern rtx gen_peephole2_2766 (rtx, rtx *);
extern rtx gen_peephole2_2767 (rtx, rtx *);
extern rtx gen_split_2774 (rtx, rtx *);
extern rtx gen_split_2778 (rtx, rtx *);
extern rtx gen_peephole2_2779 (rtx, rtx *);
extern rtx gen_split_2787 (rtx, rtx *);
extern rtx gen_split_2788 (rtx, rtx *);
extern rtx gen_split_2789 (rtx, rtx *);
extern rtx gen_split_2790 (rtx, rtx *);
extern rtx gen_split_2791 (rtx, rtx *);
extern rtx gen_peephole2_2792 (rtx, rtx *);
extern rtx gen_peephole2_2793 (rtx, rtx *);
extern rtx gen_peephole2_2794 (rtx, rtx *);
extern rtx gen_peephole2_2795 (rtx, rtx *);
extern rtx gen_peephole2_2796 (rtx, rtx *);
extern rtx gen_peephole2_2797 (rtx, rtx *);
extern rtx gen_peephole2_2798 (rtx, rtx *);
extern rtx gen_peephole2_2799 (rtx, rtx *);
extern rtx gen_peephole2_2800 (rtx, rtx *);
extern rtx gen_peephole2_2801 (rtx, rtx *);
extern rtx gen_peephole2_2802 (rtx, rtx *);
extern rtx gen_peephole2_2803 (rtx, rtx *);
extern rtx gen_peephole2_2804 (rtx, rtx *);
extern rtx gen_peephole2_2805 (rtx, rtx *);
extern rtx gen_peephole2_2806 (rtx, rtx *);
extern rtx gen_peephole2_2807 (rtx, rtx *);
extern rtx gen_peephole2_2808 (rtx, rtx *);
extern rtx gen_peephole2_2809 (rtx, rtx *);
extern rtx gen_peephole2_2810 (rtx, rtx *);
extern rtx gen_peephole2_2811 (rtx, rtx *);
extern rtx gen_peephole2_2812 (rtx, rtx *);
extern rtx gen_peephole2_2813 (rtx, rtx *);
extern rtx gen_peephole2_2814 (rtx, rtx *);
extern rtx gen_peephole2_2815 (rtx, rtx *);
extern rtx gen_peephole2_2816 (rtx, rtx *);
extern rtx gen_peephole2_2817 (rtx, rtx *);
extern rtx gen_peephole2_2818 (rtx, rtx *);
extern rtx gen_peephole2_2819 (rtx, rtx *);
extern rtx gen_peephole2_2820 (rtx, rtx *);
extern rtx gen_peephole2_2821 (rtx, rtx *);
extern rtx gen_peephole2_2822 (rtx, rtx *);
extern rtx gen_peephole2_2823 (rtx, rtx *);
extern rtx gen_peephole2_2824 (rtx, rtx *);
extern rtx gen_peephole2_2825 (rtx, rtx *);
extern rtx gen_peephole2_2826 (rtx, rtx *);
extern rtx gen_peephole2_2827 (rtx, rtx *);
extern rtx gen_peephole2_2828 (rtx, rtx *);
extern rtx gen_peephole2_2829 (rtx, rtx *);
extern rtx gen_peephole2_2830 (rtx, rtx *);
extern rtx gen_peephole2_2831 (rtx, rtx *);
extern rtx gen_peephole2_2832 (rtx, rtx *);
extern rtx gen_peephole2_2833 (rtx, rtx *);
extern rtx gen_peephole2_2834 (rtx, rtx *);
extern rtx gen_peephole2_2835 (rtx, rtx *);
extern rtx gen_peephole2_2836 (rtx, rtx *);
extern rtx gen_peephole2_2837 (rtx, rtx *);
extern rtx gen_peephole2_2838 (rtx, rtx *);
extern rtx gen_peephole2_2839 (rtx, rtx *);
extern rtx gen_peephole2_2840 (rtx, rtx *);
extern rtx gen_peephole2_2841 (rtx, rtx *);
extern rtx gen_peephole2_2842 (rtx, rtx *);
extern rtx gen_peephole2_2843 (rtx, rtx *);
extern rtx gen_peephole2_2844 (rtx, rtx *);
extern rtx gen_peephole2_2845 (rtx, rtx *);
extern rtx gen_peephole2_2846 (rtx, rtx *);
extern rtx gen_peephole2_2847 (rtx, rtx *);
extern rtx gen_peephole2_2848 (rtx, rtx *);
extern rtx gen_peephole2_2849 (rtx, rtx *);
extern rtx gen_peephole2_2850 (rtx, rtx *);
extern rtx gen_peephole2_2851 (rtx, rtx *);
extern rtx gen_peephole2_2852 (rtx, rtx *);
extern rtx gen_peephole2_2853 (rtx, rtx *);
extern rtx gen_peephole2_2854 (rtx, rtx *);
extern rtx gen_peephole2_2855 (rtx, rtx *);
extern rtx gen_peephole2_2856 (rtx, rtx *);
extern rtx gen_peephole2_2857 (rtx, rtx *);
extern rtx gen_peephole2_2858 (rtx, rtx *);
extern rtx gen_peephole2_2859 (rtx, rtx *);
extern rtx gen_peephole2_2860 (rtx, rtx *);
extern rtx gen_peephole2_2861 (rtx, rtx *);
extern rtx gen_peephole2_2862 (rtx, rtx *);
extern rtx gen_peephole2_2863 (rtx, rtx *);
extern rtx gen_peephole2_2864 (rtx, rtx *);
extern rtx gen_peephole2_2865 (rtx, rtx *);
extern rtx gen_peephole2_2866 (rtx, rtx *);
extern rtx gen_peephole2_2867 (rtx, rtx *);
extern rtx gen_peephole2_2868 (rtx, rtx *);
extern rtx gen_peephole2_2869 (rtx, rtx *);
extern rtx gen_split_2888 (rtx, rtx *);
extern rtx gen_split_2889 (rtx, rtx *);
extern rtx gen_split_2890 (rtx, rtx *);
extern rtx gen_split_2891 (rtx, rtx *);
extern rtx gen_split_2892 (rtx, rtx *);
extern rtx gen_split_2911 (rtx, rtx *);
extern rtx gen_split_2912 (rtx, rtx *);
extern rtx gen_split_2956 (rtx, rtx *);
extern rtx gen_split_2957 (rtx, rtx *);
extern rtx gen_split_2985 (rtx, rtx *);
extern rtx gen_split_2986 (rtx, rtx *);
extern rtx gen_split_2987 (rtx, rtx *);
extern rtx gen_split_3034 (rtx, rtx *);
extern rtx gen_split_3035 (rtx, rtx *);
extern rtx gen_split_3036 (rtx, rtx *);
extern rtx gen_split_3037 (rtx, rtx *);
extern rtx gen_split_3224 (rtx, rtx *);
extern rtx gen_split_3225 (rtx, rtx *);
extern rtx gen_split_3238 (rtx, rtx *);
extern rtx gen_split_3239 (rtx, rtx *);
extern rtx gen_split_3240 (rtx, rtx *);
extern rtx gen_split_3247 (rtx, rtx *);
extern rtx gen_split_3248 (rtx, rtx *);
extern rtx gen_split_3249 (rtx, rtx *);
extern rtx gen_split_3250 (rtx, rtx *);
extern rtx gen_split_3251 (rtx, rtx *);
extern rtx gen_split_3252 (rtx, rtx *);
extern rtx gen_split_3271 (rtx, rtx *);
extern rtx gen_split_3272 (rtx, rtx *);
extern rtx gen_split_3275 (rtx, rtx *);
extern rtx gen_split_3276 (rtx, rtx *);
extern rtx gen_split_3278 (rtx, rtx *);
extern rtx gen_split_3280 (rtx, rtx *);
extern rtx gen_split_3321 (rtx, rtx *);
extern rtx gen_split_3322 (rtx, rtx *);
extern rtx gen_split_3337 (rtx, rtx *);
extern rtx gen_split_3338 (rtx, rtx *);
extern rtx gen_split_3339 (rtx, rtx *);
extern rtx gen_split_3586 (rtx, rtx *);
extern rtx gen_split_3587 (rtx, rtx *);
extern rtx gen_split_3589 (rtx, rtx *);
extern rtx gen_split_3635 (rtx, rtx *);
extern rtx gen_split_3636 (rtx, rtx *);
extern rtx gen_split_3678 (rtx, rtx *);
extern rtx gen_split_3679 (rtx, rtx *);
extern rtx gen_split_3680 (rtx, rtx *);
extern rtx gen_split_3681 (rtx, rtx *);
extern rtx gen_split_3682 (rtx, rtx *);
extern rtx gen_split_3683 (rtx, rtx *);
extern rtx gen_split_3697 (rtx, rtx *);
extern rtx gen_split_3698 (rtx, rtx *);
extern rtx gen_split_3699 (rtx, rtx *);
extern rtx gen_split_3733 (rtx, rtx *);
extern rtx gen_split_3738 (rtx, rtx *);
extern rtx gen_peephole2_3744 (rtx, rtx *);
extern rtx gen_peephole2_3745 (rtx, rtx *);
extern rtx gen_peephole2_3746 (rtx, rtx *);
extern rtx gen_peephole2_3747 (rtx, rtx *);



static int
recog_1 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L28605;
    case REG:
      goto L28606;
    default:
     break;
   }
 L28447: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L139;
    }
 L28462: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L1029;
    }
 L28465: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == MEM)
    goto L449;
  if (register_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L469;
    }
 L28490: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L1052;
    }
 L28493: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L1144;
    }
  goto ret0;

 L28605: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L320;
    }
  goto L28462;

 L320: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonmemory_no_elim_operand (x1, HImode))
    {
      operands[1] = x1;
      goto L321;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L321: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1696 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 45;  /* *pushhi2_rex64 */
    }
 L333: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1704 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 48;  /* *pushhi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L28606: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 0) == 19)
    goto L1269;
  goto L28447;

 L1269: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 29)
    goto L1270;
  x1 = XEXP (x0, 0);
  goto L28447;

 L1270: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L1271;
    }
  x1 = XEXP (x0, 0);
  goto L28447;

 L1271: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4698 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 177;  /* x86_fldcw_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28447;

 L139: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 24)
    goto L140;
  x1 = XEXP (x0, 0);
  goto L28462;

 L140: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case CCFPmode:
      goto L28607;
    case CCFPUmode:
      goto L28608;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L28607: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case COMPARE:
      goto L157;
    case REG:
      goto L28610;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28462;

 L157: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case XFmode:
      goto L28611;
    case SFmode:
      goto L28612;
    case DFmode:
      goto L28613;
    default:
      break;
    }
 L141: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L222;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L28611: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L158;
    }
  goto L141;

 L158: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L159;
    }
  x3 = XEXP (x2, 0);
  goto L141;

 L159: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1259 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 20;  /* *cmpfp_xf */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L141;

 L28612: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L174;
    }
  goto L141;

 L174: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L175;
    }
  x3 = XEXP (x2, 0);
  goto L141;

 L175: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1293 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 22;  /* *cmpfp_sf */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L141;

 L28613: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L181;
    }
  goto L141;

 L181: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[2] = x3;
      goto L182;
    }
  x3 = XEXP (x2, 0);
  goto L141;

 L182: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1293 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 23;  /* *cmpfp_df */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L141;

 L222: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (float_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L223;
    }
  if (const0_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L143;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L223: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case HImode:
      goto L28614;
    case SImode:
      goto L28615;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L28614: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L224;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L224: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1376 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))
   && (GET_MODE (operands [3]) == GET_MODE (operands[1]))))
    {
      return 28;  /* *cmpfp_hi */
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L28615: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L232;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L232: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1376 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))
   && (GET_MODE (operands [3]) == GET_MODE (operands[1]))))
    {
      return 29;  /* *cmpfp_si */
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L143: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1211 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && GET_MODE (operands[1]) == GET_MODE (operands[2])))
    {
      return 18;  /* *cmpfp_0 */
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L28610: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 18
      && 
#line 1418 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 32;  /* x86_fnstsw_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L28608: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == COMPARE)
    goto L205;
  x1 = XEXP (x0, 0);
  goto L28462;

 L205: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L206;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L206: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L207;
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L207: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1327 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && GET_MODE (operands[1]) == GET_MODE (operands[2])))
    {
      return 26;  /* *cmpfp_u */
    }
  x1 = XEXP (x0, 0);
  goto L28462;

 L1029: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode
      && GET_CODE (x1) == FIX)
    goto L1030;
  if (general_operand (x1, HImode))
    {
      operands[1] = x1;
      goto L437;
    }
  x1 = XEXP (x0, 0);
  goto L28465;

 L1030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1031;
    }
  x1 = XEXP (x0, 0);
  goto L28465;

 L1031: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4470 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || HImode != DImode))
	&& TARGET_SSE_MATH)
   && can_create_pseudo_p ()))
    {
      return 158;  /* fix_trunchi_fisttp_i387_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28465;

 L437: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2215 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 65;  /* *movhi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28465;

 L449: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x86_64_movabs_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L450;
    }
  goto L28490;

 L450: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonmemory_operand (x1, HImode))
    {
      operands[1] = x1;
      goto L451;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L451: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2330 "../../gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 0)))
    {
      return 68;  /* *movabshi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L469: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode)
    goto L28616;
  x1 = XEXP (x0, 0);
  goto L28490;

 L28616: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L470;
    case SIGN_EXTRACT:
      goto L561;
    case ZERO_EXTEND:
      goto L768;
    case SIGN_EXTEND:
      goto L869;
    case MULT:
      goto L2935;
    case IOR:
      goto L3484;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28490;

 L470: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x86_64_movabs_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L471;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L471: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2344 "../../gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 1)))
    {
      return 72;  /* *movabshi_2 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L561: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L562;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L563;
  x1 = XEXP (x0, 0);
  goto L28490;

 L563: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    {
      return 85;  /* *movhi_extv_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L768: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L769;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L769: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3565 "../../gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 120;  /* *zero_extendqihi2_and */
    }
 L793: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3591 "../../gcc/config/i386/i386.md"
(!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 122;  /* *zero_extendqihi2_movzbl_and */
    }
 L810: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3611 "../../gcc/config/i386/i386.md"
(reload_completed
   && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))))
    {
      return 124;  /* *zero_extendqihi2_movzbl */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L869: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      return 134;  /* extendqihi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L2935: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == HImode)
    goto L28623;
  x1 = XEXP (x0, 0);
  goto L28490;

 L28623: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SIGN_EXTEND:
      goto L3070;
    case ZERO_EXTEND:
      goto L3088;
    case REG:
    case SUBREG:
    case MEM:
      goto L28622;
    default:
      x1 = XEXP (x0, 0);
      goto L28490;
   }
 L28622: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L2936;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3070: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L3071;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3071: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L3072;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3072: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L3073;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3073: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6898 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 330;  /* *mulqihi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3088: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L3089;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3089: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L3090;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3090: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L3091;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3091: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6898 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 331;  /* *umulqihi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L2936: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L2937;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L2937: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6721 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 322;  /* *mulhi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3484: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == ASHIFT)
    goto L3485;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3485: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L3486;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3486: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode
      && GET_CODE (x4) == TRUNCATE)
    goto L3487;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3487: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MOD)
    goto L3488;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3488: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, HImode))
    {
      operands[1] = x6;
      goto L3489;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3489: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode)
    goto L28625;
  x1 = XEXP (x0, 0);
  goto L28490;

 L28625: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x6))
    {
    case SIGN_EXTEND:
      goto L3490;
    case ZERO_EXTEND:
      goto L3742;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3490: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, QImode))
    {
      operands[2] = x7;
      goto L3491;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3491: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L3492;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L3493;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3493: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == TRUNCATE)
    goto L3494;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3494: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == DIV)
    goto L3495;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3495: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L3496;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3496: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SIGN_EXTEND)
    goto L3497;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3497: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2])
      && 
#line 7220 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 346;  /* divmodhiqi3 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3742: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, QImode))
    {
      operands[2] = x7;
      goto L3743;
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L3743: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L3744;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3744: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L3745;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3745: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == TRUNCATE)
    goto L3746;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3746: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == DIV)
    goto L3747;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3747: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L3748;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3748: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L3749;
  x1 = XEXP (x0, 0);
  goto L28490;

 L3749: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2])
      && 
#line 7361 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 355;  /* udivmodhiqi3 */
    }
  x1 = XEXP (x0, 0);
  goto L28490;

 L1052: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode)
    goto L28627;
  x1 = XEXP (x0, 0);
  goto L28493;

 L28627: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FIX:
      goto L1053;
    case UNSPEC:
      goto L28629;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28493;

 L1053: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1054;
    }
  x1 = XEXP (x0, 0);
  goto L28493;

 L1054: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4498 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || HImode != DImode))
	&& TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 161;  /* fix_trunchi_i387_fisttp */
    }
  x1 = XEXP (x0, 0);
  goto L28493;

 L28629: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 27)
    goto L1266;
  x1 = XEXP (x0, 0);
  goto L28493;

 L1266: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 19
      && 
#line 4687 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 176;  /* x86_fnstcw_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28493;

 L1144: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode)
    goto L28630;
  goto ret0;

 L28630: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FIX:
      goto L1145;
    case PLUS:
      goto L1843;
    case MINUS:
      goto L2333;
    case AND:
      goto L3901;
    case IOR:
      goto L4173;
    case XOR:
      goto L4187;
    case NEG:
      goto L5018;
    case NOT:
      goto L5409;
    case ASHIFT:
      goto L5680;
    case LSHIFTRT:
      goto L6246;
    case ASHIFTRT:
      goto L6260;
    case ROTATE:
      goto L6865;
    case ROTATERT:
      goto L6879;
    default:
     break;
   }
  goto ret0;

 L1145: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1146;
    }
  goto ret0;

 L1146: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || HImode != DImode))
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 167;  /* *fix_trunchi_i387_1 */
    }
  goto ret0;

 L1843: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L2578;
    }
  goto ret0;

 L2578: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == PLUS)
    goto L2579;
  if (general_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1845;
    }
  goto ret0;

 L2579: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2580;
    }
  goto ret0;

 L2580: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L2581;
  goto ret0;

 L2581: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2582;
  goto ret0;

 L2582: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L2583;
    }
  goto ret0;

 L2583: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 302;  /* *addhi3_carry */
    }
  goto ret0;

 L1845: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5632 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 253;  /* *addhi_1 */
    }
  goto ret0;

 L2333: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L2600;
    }
  goto ret0;

 L2600: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == PLUS)
    goto L2601;
  if (general_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L2335;
    }
  goto ret0;

 L2601: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2602;
    }
  goto ret0;

 L2602: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L2603;
  goto ret0;

 L2603: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2604;
  goto ret0;

 L2604: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L2605;
    }
  goto ret0;

 L2605: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 303;  /* *subhi3_carry */
    }
  goto ret0;

 L2335: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6415 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 285;  /* *subhi_1 */
    }
  goto ret0;

 L3901: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L3902;
    }
  goto ret0;

 L3902: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L3903;
    }
  goto ret0;

 L3903: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7827 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 370;  /* *andhi_1 */
    }
  goto ret0;

 L4173: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L4174;
    }
  goto ret0;

 L4174: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L4175;
    }
  goto ret0;

 L4175: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8186 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 385;  /* *iorhi_1 */
    }
  goto ret0;

 L4187: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L4188;
    }
  goto ret0;

 L4188: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L4189;
    }
  goto ret0;

 L4189: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8186 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 386;  /* *xorhi_1 */
    }
  goto ret0;

 L5018: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L5019;
    }
  goto ret0;

 L5019: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8533 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 434;  /* *neghi2_1 */
    }
  goto ret0;

 L5409: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L5410;
    }
  goto ret0;

 L5410: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8867 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NOT, HImode, operands)))
    {
      return 469;  /* *one_cmplhi2_1 */
    }
  goto ret0;

 L5680: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L5681;
    }
  goto ret0;

 L5681: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5682;
    }
  goto ret0;

 L5682: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9252 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 491;  /* *ashlhi3_1 */
    }
  goto ret0;

 L6246: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L6247;
    }
  goto ret0;

 L6247: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6248;
    }
  goto ret0;

 L6248: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9864 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 530;  /* *lshrhi3_1 */
    }
  goto ret0;

 L6260: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L6261;
    }
  goto ret0;

 L6261: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6262;
    }
  goto ret0;

 L6262: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9864 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 531;  /* *ashrhi3_1 */
    }
  goto ret0;

 L6865: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L6866;
    }
  goto ret0;

 L6866: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6867;
    }
  goto ret0;

 L6867: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10262 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 571;  /* *rotlhi3_1 */
    }
  goto ret0;

 L6879: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L6880;
    }
  goto ret0;

 L6880: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6881;
    }
  goto ret0;

 L6881: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10262 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, HImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 572;  /* *rotrhi3_1 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_2 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L480;
    case ZERO_EXTRACT:
      goto L591;
    case ZERO_EXTEND:
      goto L734;
    case SIGN_EXTEND:
      goto L819;
    case FIX:
      goto L1010;
    case TRUNCATE:
      goto L3110;
    case IOR:
      goto L4318;
    case XOR:
      goto L4334;
    case LSHIFTRT:
      goto L5058;
    case ASHIFT:
      goto L5615;
    default:
     break;
   }
  goto ret0;

 L480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x86_64_movabs_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L481;
    }
  goto ret0;

 L481: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2344 "../../gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 1)))
    {
      return 74;  /* *movabsdi_2 */
    }
  goto ret0;

 L591: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L592;
    }
  goto ret0;

 L592: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L593;
  goto ret0;

 L593: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 90;  /* *movdi_extzv_1 */
    }
  goto ret0;

 L734: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case QImode:
      goto L28658;
    case HImode:
      goto L28659;
    case SImode:
      goto L28660;
    default:
      break;
    }
  goto ret0;

 L28658: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L735;
    }
  goto ret0;

 L735: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3515 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 116;  /* zero_extendqidi2 */
    }
  goto ret0;

 L28659: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L740;
    }
  goto ret0;

 L740: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3515 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 117;  /* zero_extendhidi2 */
    }
  goto ret0;

 L28660: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SIGN_EXTEND:
      goto L854;
    case PLUS:
      goto L1829;
    case MINUS:
      goto L2377;
    case MULT:
      goto L2921;
    case TRUNCATE:
      goto L3212;
    case AND:
      goto L3887;
    case IOR:
      goto L4287;
    case XOR:
      goto L4303;
    case NOT:
      goto L5430;
    case ASHIFT:
      goto L5650;
    default:
     break;
   }
  goto ret0;

 L854: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L28670;
    case QImode:
      goto L28671;
    default:
      break;
    }
  goto ret0;

 L28670: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L855;
    }
  goto ret0;

 L855: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3776 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 131;  /* *extendhisi2_zext */
    }
  goto ret0;

 L28671: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L865;
    }
  goto ret0;

 L865: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3811 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 133;  /* *extendqisi2_zext */
    }
  goto ret0;

 L1829: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2712;
    }
  goto ret0;

 L2712: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L2713;
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L1831;
    }
  goto ret0;

 L2713: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2714;
    }
  goto ret0;

 L2714: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2715;
  goto ret0;

 L2715: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2716;
  goto ret0;

 L2716: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2717;
    }
  goto ret0;

 L2717: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6537 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 308;  /* *addsi3_carry_zext */
    }
  goto ret0;

 L1831: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5582 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 252;  /* addsi_1_zext */
    }
  goto ret0;

 L2377: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2736;
    }
  goto ret0;

 L2736: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L2737;
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2379;
    }
  goto ret0;

 L2737: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2738;
    }
  goto ret0;

 L2738: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2739;
  goto ret0;

 L2739: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2740;
  goto ret0;

 L2740: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2741;
    }
  goto ret0;

 L2741: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6552 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 309;  /* *subsi3_carry_zext */
    }
  goto ret0;

 L2379: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6426 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 288;  /* *subsi_1_zext */
    }
  goto ret0;

 L2921: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2922;
    }
  goto ret0;

 L2922: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2923;
    }
  goto ret0;

 L2923: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6681 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 321;  /* *mulsi3_1_zext */
    }
  goto ret0;

 L3212: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == LSHIFTRT)
    goto L3213;
  goto ret0;

 L3213: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == MULT)
    goto L3214;
  goto ret0;

 L3214: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode)
    goto L28672;
  goto ret0;

 L28672: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x5))
    {
    case SIGN_EXTEND:
      goto L3215;
    case ZERO_EXTEND:
      goto L3242;
    default:
     break;
   }
  goto ret0;

 L3215: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, SImode))
    {
      operands[1] = x6;
      goto L3216;
    }
  goto ret0;

 L3216: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == DImode
      && GET_CODE (x5) == SIGN_EXTEND)
    goto L3217;
  goto ret0;

 L3217: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L3218;
    }
  goto ret0;

 L3218: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)]
      && 
#line 6986 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 336;  /* *smulsi3_highpart_zext */
    }
  goto ret0;

 L3242: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, SImode))
    {
      operands[1] = x6;
      goto L3243;
    }
  goto ret0;

 L3243: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == DImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L3244;
  goto ret0;

 L3244: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L3245;
    }
  goto ret0;

 L3245: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)]
      && 
#line 6986 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 337;  /* *umulsi3_highpart_zext */
    }
  goto ret0;

 L3887: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L3888;
    }
  goto ret0;

 L3888: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3889;
    }
  goto ret0;

 L3889: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7817 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (AND, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 369;  /* *andsi_1_zext */
    }
  goto ret0;

 L4287: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L4288;
    }
  goto ret0;

 L4288: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L4289;
    }
  goto ret0;

 L4289: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8212 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (IOR, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 393;  /* *iorsi_1_zext */
    }
  goto ret0;

 L4303: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L4304;
    }
  goto ret0;

 L4304: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L4305;
    }
  goto ret0;

 L4305: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8212 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (XOR, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 394;  /* *xorsi_1_zext */
    }
  goto ret0;

 L5430: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L5431;
    }
  goto ret0;

 L5431: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8888 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_unary_operator_ok (NOT, SImode, operands)))
    {
      return 473;  /* *one_cmplsi2_1_zext */
    }
  goto ret0;

 L5650: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L5651;
    }
  goto ret0;

 L5651: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L5652;
    }
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5668;
    }
  goto ret0;

 L5652: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9182 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2))
    {
      return 489;  /* *bmi2_ashlsi3_1_zext */
    }
  goto ret0;

 L5668: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9193 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ASHIFT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 490;  /* *ashlsi3_1_zext */
    }
  goto ret0;

 L819: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L28674;
    case QImode:
      goto L28675;
    case HImode:
      goto L28676;
    default:
      break;
    }
  goto ret0;

 L28674: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L820;
    }
  goto ret0;

 L820: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3644 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 126;  /* *extendsidi2_rex64 */
    }
  goto ret0;

 L28675: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L840;
    }
  goto ret0;

 L840: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3740 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 128;  /* extendqidi2 */
    }
  goto ret0;

 L28676: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L845;
    }
  goto ret0;

 L845: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3740 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 129;  /* extendhidi2 */
    }
  goto ret0;

 L1010: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L28677;
    case DFmode:
      goto L28678;
    default:
      break;
    }
  goto ret0;

 L28677: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L1011;
    }
  goto ret0;

 L1011: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4415 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && SSE_FLOAT_MODE_P (SFmode)
   && (!TARGET_FISTTP || TARGET_SSE_MATH)))
    {
      return 154;  /* fix_truncsfdi_sse */
    }
  goto ret0;

 L28678: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L1016;
    }
  goto ret0;

 L1016: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4415 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && SSE_FLOAT_MODE_P (DFmode)
   && (!TARGET_FISTTP || TARGET_SSE_MATH)))
    {
      return 155;  /* fix_truncdfdi_sse */
    }
  goto ret0;

 L3110: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L3111;
  goto ret0;

 L3111: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == TImode
      && GET_CODE (x3) == MULT)
    goto L3112;
  goto ret0;

 L3112: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == TImode)
    goto L28679;
  goto ret0;

 L28679: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case SIGN_EXTEND:
      goto L3113;
    case ZERO_EXTEND:
      goto L3138;
    default:
     break;
   }
  goto ret0;

 L3113: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, DImode))
    {
      operands[1] = x5;
      goto L3114;
    }
  goto ret0;

 L3114: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == TImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L3115;
  goto ret0;

 L3115: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L3116;
    }
  goto ret0;

 L3116: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (64)]
      && 
#line 6938 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 332;  /* *smuldi3_highpart_1 */
    }
  goto ret0;

 L3138: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, DImode))
    {
      operands[1] = x5;
      goto L3139;
    }
  goto ret0;

 L3139: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == TImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L3140;
  goto ret0;

 L3140: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L3141;
    }
  goto ret0;

 L3141: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (64)]
      && 
#line 6938 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 333;  /* *umuldi3_highpart_1 */
    }
  goto ret0;

 L4318: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L4319;
  goto ret0;

 L4319: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L4320;
    }
  goto ret0;

 L4320: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_zext_immediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L4321;
    }
  goto ret0;

 L4321: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8223 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (IOR, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 395;  /* *iorsi_1_zext_imm */
    }
  goto ret0;

 L4334: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L4335;
  goto ret0;

 L4335: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L4336;
    }
  goto ret0;

 L4336: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_zext_immediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L4337;
    }
  goto ret0;

 L4337: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8223 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (XOR, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 396;  /* *xorsi_1_zext_imm */
    }
  goto ret0;

 L5058: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NEG)
    goto L5059;
  goto ret0;

 L5059: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ASHIFT)
    goto L5060;
  goto ret0;

 L5060: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L5061;
    }
  goto ret0;

 L5061: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L5062;
  goto ret0;

 L5062: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (32)]
      && 
#line 8546 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_unary_operator_ok (NEG, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 437;  /* *negsi2_1_zext */
    }
  goto ret0;

 L5615: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L5616;
    }
 L5499: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_pm1_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L5500;
    }
  goto ret0;

 L5616: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L5617;
    }
  x2 = XEXP (x1, 0);
  goto L5499;

 L5617: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9112 "../../gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 486;  /* *bmi2_ashldi3_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L5499;

 L5500: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5501;
    }
  goto ret0;

 L5501: ATTRIBUTE_UNUSED_LABEL
  if (
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 479;  /* *ashldi3_doubleword */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_3 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L28643;
    case ZERO_EXTRACT:
      goto L6925;
    default:
     break;
   }
 L28455: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L354;
    }
 L28457: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L388;
    }
 L28460: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L716;
    }
 L28467: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == MEM)
    goto L459;
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L479;
    }
 L28483: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L833;
    }
 L28492: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L1078;
    }
 L28495: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L1168;
    }
 L28500: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L5941;
    }
 L28501: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L6047;
    }
  goto ret0;

 L28643: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L300;
    }
  goto L28455;

 L300: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_no_elim_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L301;
    }
  x1 = XEXP (x0, 0);
  goto L28455;

 L301: ATTRIBUTE_UNUSED_LABEL
  if (
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 40;  /* *pushdi2 */
    }
 L309: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1617 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 42;  /* *pushdi2_rex64 */
    }
  x1 = XEXP (x0, 0);
  goto L28455;

 L6925: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L6926;
    }
 L617: ATTRIBUTE_UNUSED_LABEL
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L618;
    }
  goto ret0;

 L6926: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L6927;
  x2 = XEXP (x1, 0);
  goto L617;

 L6927: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_63_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6962;
    }
  x2 = XEXP (x1, 0);
  goto L617;

 L6962: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == NOT)
    goto L6963;
  if (GET_CODE (x1) == CONST_INT)
    goto L28644;
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L617;

 L6963: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L6964;
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L617;

 L6964: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L6965;
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L617;

 L6965: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L6966;
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L617;

 L6966: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 10423 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 577;  /* *btcq */
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L617;

 L28644: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x1, 0) == XWINT (x1, 0))
    switch ((int) XWINT (x1, 0))
      {
      case 1L:
        goto L28646;
      case 0L:
        goto L28647;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L617;

 L28646: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10399 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 575;  /* *btsq */
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L617;

 L28647: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10411 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 576;  /* *btrq */
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L617;

 L618: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L619;
  goto ret0;

 L619: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L620;
  goto ret0;

 L620: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonmemory_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L621;
    }
  goto ret0;

 L621: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2567 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 94;  /* *movdi_insv_1_rex64 */
    }
  goto ret0;

 L354: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (pop_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L355;
    }
  x1 = XEXP (x0, 0);
  goto L28457;

 L355: ATTRIBUTE_UNUSED_LABEL
  if (
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 52;  /* *popdi1 */
    }
  x1 = XEXP (x0, 0);
  goto L28457;

 L388: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const0_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L389;
    }
 L408: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L409;
    }
  x1 = XEXP (x0, 0);
  goto L28460;

 L389: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1783 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 56;  /* *movdi_xor */
    }
  x1 = XEXP (x0, 1);
  goto L408;

 L409: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1793 "../../gcc/config/i386/i386.md"
(reload_completed
   && operands[1] == constm1_rtx) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 58;  /* *movdi_or */
    }
  x1 = XEXP (x0, 0);
  goto L28460;

 L716: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == ZERO_EXTEND)
    goto L717;
  if (general_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L425;
    }
  x1 = XEXP (x0, 0);
  goto L28467;

 L717: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L718;
    }
  x1 = XEXP (x0, 0);
  goto L28467;

 L718: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3452 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 114;  /* *zero_extendsidi2_rex64 */
    }
 L730: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3478 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 115;  /* zero_extendsidi2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28467;

 L425: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1930 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 62;  /* *movdi_internal_rex64 */
    }
 L429: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2055 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 63;  /* *movdi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28467;

 L459: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x86_64_movabs_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L460;
    }
  goto L28483;

 L460: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonmemory_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L461;
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L461: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2330 "../../gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 0)))
    {
      return 70;  /* *movabsdi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L479: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L28648;
 L1725: ATTRIBUTE_UNUSED_LABEL
  if (lea_address_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L1726;
    }
 L2904: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == MULT)
    goto L2905;
  x1 = XEXP (x0, 0);
  goto L28483;

 L28648: ATTRIBUTE_UNUSED_LABEL
  tem = recog_2 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L1725;

 L1726: ATTRIBUTE_UNUSED_LABEL
  if (
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 244;  /* *leadi */
    }
  x1 = XEXP (x0, 1);
  goto L2904;

 L2905: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L28682;
  x1 = XEXP (x0, 0);
  goto L28483;

 L28682: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L2998;
    case SIGN_EXTEND:
      goto L3034;
    case REG:
    case SUBREG:
    case MEM:
      goto L28681;
    default:
      x1 = XEXP (x0, 0);
      goto L28483;
   }
 L28681: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L2906;
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L2998: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2999;
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L2999: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L3000;
  x1 = XEXP (x0, 0);
  goto L28483;

 L3000: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3001;
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L3001: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6827 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 326;  /* *umulsidi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L3034: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L3035;
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L3035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L3036;
  x1 = XEXP (x0, 0);
  goto L28483;

 L3036: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3037;
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L3037: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6878 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 328;  /* *mulsidi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L2906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L2907;
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L2907: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6651 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 320;  /* *muldi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28483;

 L833: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L28684;
  x1 = XEXP (x0, 0);
  goto L28492;

 L28684: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case SIGN_EXTEND:
      goto L834;
    case FIX:
      goto L1040;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28492;

 L834: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L835;
    }
  x1 = XEXP (x0, 0);
  goto L28492;

 L835: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3658 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 127;  /* extendsidi2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28492;

 L1040: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1041;
    }
  x1 = XEXP (x0, 0);
  goto L28492;

 L1041: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4470 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || DImode != DImode))
	&& TARGET_SSE_MATH)
   && can_create_pseudo_p ()))
    {
      return 160;  /* fix_truncdi_fisttp_i387_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28492;

 L1078: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == FIX)
    goto L1079;
  x1 = XEXP (x0, 0);
  goto L28495;

 L1079: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1080;
    }
  x1 = XEXP (x0, 0);
  goto L28495;

 L1080: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4498 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || DImode != DImode))
	&& TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 163;  /* fix_truncdi_i387_fisttp */
    }
  x1 = XEXP (x0, 0);
  goto L28495;

 L1168: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L28686;
  x1 = XEXP (x0, 0);
  goto L28500;

 L28686: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FIX:
      goto L1169;
    case PLUS:
      goto L1738;
    case MINUS:
      goto L2291;
    case AND:
      goto L3857;
    case IOR:
      goto L4229;
    case XOR:
      goto L4243;
    case NEG:
      goto L4982;
    case NOT:
      goto L5419;
    case ASHIFT:
      goto L5600;
    case LSHIFTRT:
      goto L5905;
    case ASHIFTRT:
      goto L5925;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28500;

 L1169: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1170;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L1170: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || DImode != DImode))
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 169;  /* *fix_truncdi_i387_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L1738: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L2666;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2666: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L2667;
  if (x86_64_general_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1740;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2667: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2668;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2668: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L2669;
  x1 = XEXP (x0, 0);
  goto L28500;

 L2669: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2670;
  x1 = XEXP (x0, 0);
  goto L28500;

 L2670: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2671;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2671: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 306;  /* *adddi3_carry */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L1740: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5474 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 245;  /* *adddi3_doubleword */
    }
 L1815: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5523 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 251;  /* *adddi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2291: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L2688;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2688: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L2689;
  if (x86_64_general_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L2293;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2689: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2690;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2690: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L2691;
  x1 = XEXP (x0, 0);
  goto L28500;

 L2691: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2692;
  x1 = XEXP (x0, 0);
  goto L28500;

 L2692: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2693;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2693: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 307;  /* *subdi3_carry */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L2293: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6393 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 282;  /* *subdi3_doubleword */
    }
 L2363: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6415 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 287;  /* *subdi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L3857: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L3858;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L3858: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_szext_general_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L3859;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L3859: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7718 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (AND, DImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 367;  /* *anddi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L4229: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L28698;
  x1 = XEXP (x0, 0);
  goto L28500;

 L28698: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFT:
      goto L5534;
    case ASHIFTRT:
      goto L6005;
    case REG:
    case SUBREG:
    case MEM:
      goto L28697;
    default:
      x1 = XEXP (x0, 0);
      goto L28500;
   }
 L28697: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L4230;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5534: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L5535;
  x1 = XEXP (x0, 0);
  goto L28500;

 L5535: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5536;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5536: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L5537;
  x1 = XEXP (x0, 0);
  goto L28500;

 L5537: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L5538;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5538: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MINUS)
    goto L5539;
  x1 = XEXP (x0, 0);
  goto L28500;

 L5539: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (64)])
    goto L5540;
  x1 = XEXP (x0, 0);
  goto L28500;

 L5540: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 9018 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 481;  /* x86_64_shld */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L6005: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L6006;
  x1 = XEXP (x0, 0);
  goto L28500;

 L6006: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6007;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L6007: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ASHIFT)
    goto L6008;
  x1 = XEXP (x0, 0);
  goto L28500;

 L6008: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6009;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L6009: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MINUS)
    goto L6010;
  x1 = XEXP (x0, 0);
  goto L28500;

 L6010: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (64)])
    goto L6011;
  x1 = XEXP (x0, 0);
  goto L28500;

 L6011: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 9645 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 511;  /* x86_64_shrd */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L4230: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L4231;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L4231: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (IOR, DImode, operands)) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 389;  /* *iordi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L4243: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L4244;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L4244: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L4245;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L4245: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (XOR, DImode, operands)) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 390;  /* *xordi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L4982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L4983;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L4983: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8510 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 431;  /* *negdi2_doubleword */
    }
 L5043: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8533 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 436;  /* *negdi2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L5420;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5420: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8867 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NOT, DImode, operands)) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 471;  /* *one_cmpldi2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5600: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L5601;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5601: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L5602;
 L5644: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5645;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5602: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L5603;
  goto L5644;

 L5603: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L5604;
    }
  goto L5644;

 L5604: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L5605;
    }
  goto L5644;

 L5605: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9099 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 484;  /* *ashldi3_mask */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L5644;

 L5645: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9122 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, DImode, operands)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 488;  /* *ashldi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5905: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L5906;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L5907;
  x1 = XEXP (x0, 0);
  goto L28500;

 L5907: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L5908;
  x1 = XEXP (x0, 0);
  goto L28500;

 L5908: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L5909;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5909: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L5910;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5910: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 505;  /* *lshrdi3_mask */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5925: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L5926;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5926: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L5927;
  x1 = XEXP (x0, 0);
  goto L28500;

 L5927: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L5928;
  x1 = XEXP (x0, 0);
  goto L28500;

 L5928: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L5929;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5929: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L5930;
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5930: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 506;  /* *ashrdi3_mask */
    }
  x1 = XEXP (x0, 0);
  goto L28500;

 L5941: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L28700;
  x1 = XEXP (x0, 0);
  goto L28501;

 L28700: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case LSHIFTRT:
      goto L5942;
    case ASHIFTRT:
      goto L5956;
    case ZERO_EXTEND:
      goto L6077;
    case ROTATE:
      goto L6665;
    case ROTATERT:
      goto L6699;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case GEU:
    case GTU:
    case LEU:
    case LTU:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L28705;
    default:
      x1 = XEXP (x0, 0);
      goto L28501;
   }
 L28705: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x1, DImode))
    {
      operands[1] = x1;
      goto L6986;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L5942: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L28706;
  x1 = XEXP (x0, 0);
  goto L28501;

 L28706: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L5943;
    }
 L28707: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6097;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L5943: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5944;
    }
  x2 = XEXP (x1, 0);
  goto L28707;

 L5944: ATTRIBUTE_UNUSED_LABEL
  if (
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 507;  /* *lshrdi3_doubleword */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28707;

 L6097: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L6098;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6098: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9756 "../../gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 518;  /* *bmi2_lshrdi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L5956: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L28708;
  x1 = XEXP (x0, 0);
  goto L28501;

 L28708: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L5957;
    }
 L28709: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6103;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L5957: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5958;
    }
  x2 = XEXP (x1, 0);
  goto L28709;

 L5958: ATTRIBUTE_UNUSED_LABEL
  if (
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 508;  /* *ashrdi3_doubleword */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28709;

 L6103: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L6104;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6104: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9756 "../../gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 519;  /* *bmi2_ashrdi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6077: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L28710;
  x1 = XEXP (x0, 0);
  goto L28501;

 L28710: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFTRT:
      goto L6078;
    case LSHIFTRT:
      goto L6165;
    case ROTATERT:
      goto L6791;
    case ROTATE:
      goto L6807;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6078: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L28714;
  x1 = XEXP (x0, 0);
  goto L28501;

 L28714: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6079;
    }
 L28715: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6173;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6079: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6080;
    }
  x3 = XEXP (x2, 0);
  goto L28715;

 L6080: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9711 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && INTVAL (operands[2]) == 31
   && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   && ix86_binary_operator_ok (ASHIFTRT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 515;  /* *ashrsi3_cvt_zext */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L28715;

 L6173: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L6174;
    }
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6206;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6174: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9809 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2))
    {
      return 525;  /* *bmi2_ashrsi3_1_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6206: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9820 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ASHIFTRT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 527;  /* *ashrsi3_1_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6165: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6166;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6166: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L6167;
    }
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6190;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6167: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9809 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2))
    {
      return 524;  /* *bmi2_lshrsi3_1_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6190: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9820 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (LSHIFTRT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 526;  /* *lshrsi3_1_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6791: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6792;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6792: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6793;
    }
 L6824: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6825;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6793: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10194 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2))
    {
      return 566;  /* *bmi2_rorxsi3_1_zext */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  goto L6824;

 L6825: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10205 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 568;  /* *rotrsi3_1_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6807: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6808;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6808: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6809;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6809: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10205 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 567;  /* *rotlsi3_1_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6666;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6666: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_1_to_31_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6667;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6667: ATTRIBUTE_UNUSED_LABEL
  if (
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 556;  /* ix86_rotldi3_doubleword */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6699: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L28716;
  x1 = XEXP (x0, 0);
  goto L28501;

 L28716: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6700;
    }
 L28717: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6729;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6700: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_1_to_31_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6701;
    }
  x2 = XEXP (x1, 0);
  goto L28717;

 L6701: ATTRIBUTE_UNUSED_LABEL
  if (
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 558;  /* ix86_rotrdi3_doubleword */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28717;

 L6729: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6730;
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6730: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10128 "../../gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 561;  /* *bmi2_rorxdi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L6987;
  x1 = XEXP (x0, 0);
  goto L28501;

 L6987: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 10551 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_PARTIAL_REG_STALL))
    {
      return 580;  /* *setcc_di_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28501;

 L6047: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L28718;
  goto ret0;

 L28718: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case ASHIFTRT:
      goto L6048;
    case LSHIFTRT:
      goto L6144;
    case ROTATE:
      goto L6625;
    case ROTATERT:
      goto L6645;
    default:
     break;
   }
  goto ret0;

 L6048: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6049;
    }
  goto ret0;

 L6049: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6050;
    }
 L6159: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6160;
    }
  goto ret0;

 L6050: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9676 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && INTVAL (operands[2]) == 63
   && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   && ix86_binary_operator_ok (ASHIFTRT, DImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 513;  /* ashrdi3_cvt */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L6159;

 L6160: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (ASHIFTRT, DImode, operands)) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 523;  /* *ashrdi3_1 */
    }
  goto ret0;

 L6144: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6145;
    }
  goto ret0;

 L6145: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6146;
    }
  goto ret0;

 L6146: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (LSHIFTRT, DImode, operands)) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 522;  /* *lshrdi3_1 */
    }
  goto ret0;

 L6625: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6626;
    }
  goto ret0;

 L6626: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L6627;
 L6771: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6772;
    }
  goto ret0;

 L6627: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L6628;
  goto L6771;

 L6628: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L6629;
    }
  goto L6771;

 L6629: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L6630;
    }
  goto L6771;

 L6630: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (ROTATE, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 554;  /* *rotldi3_mask */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L6771;

 L6772: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (ROTATE, DImode, operands)) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 564;  /* *rotldi3_1 */
    }
  goto ret0;

 L6645: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L6646;
    }
  goto ret0;

 L6646: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L6647;
 L6785: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6786;
    }
  goto ret0;

 L6647: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L6648;
  goto L6785;

 L6648: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L6649;
    }
  goto L6785;

 L6649: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L6650;
    }
  goto L6785;

 L6650: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (ROTATERT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 555;  /* *rotrdi3_mask */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L6785;

 L6786: ATTRIBUTE_UNUSED_LABEL
  if (
((ix86_binary_operator_ok (ROTATERT, DImode, operands)) && (TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 565;  /* *rotrdi3_1 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_4 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case FIX:
      goto L1157;
    case PLUS:
      goto L1799;
    case MINUS:
      goto L2347;
    case AND:
      goto L3871;
    case IOR:
      goto L4201;
    case XOR:
      goto L4215;
    case NEG:
      goto L5030;
    case NOT:
      goto L5414;
    case ASHIFT:
      goto L5580;
    case LSHIFTRT:
      goto L5865;
    case ASHIFTRT:
      goto L5885;
    case ROTATE:
      goto L6585;
    case ROTATERT:
      goto L6605;
    default:
     break;
   }
  goto ret0;

 L1157: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1158;
    }
  goto ret0;

 L1158: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || SImode != DImode))
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 168;  /* *fix_truncsi_i387_1 */
    }
  goto ret0;

 L1799: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L2622;
    }
  goto ret0;

 L2622: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L2623;
  if (x86_64_general_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L1801;
    }
  goto ret0;

 L2623: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2624;
    }
  goto ret0;

 L2624: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L2625;
  goto ret0;

 L2625: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2626;
  goto ret0;

 L2626: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2627;
    }
  goto ret0;

 L2627: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 304;  /* *addsi3_carry */
    }
  goto ret0;

 L1801: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5523 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 250;  /* *addsi_1 */
    }
  goto ret0;

 L2347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L2644;
    }
  goto ret0;

 L2644: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L2645;
  if (x86_64_general_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L2349;
    }
  goto ret0;

 L2645: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2646;
    }
  goto ret0;

 L2646: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L2647;
  goto ret0;

 L2647: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2648;
  goto ret0;

 L2648: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2649;
    }
  goto ret0;

 L2649: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 305;  /* *subsi3_carry */
    }
  goto ret0;

 L2349: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6415 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 286;  /* *subsi_1 */
    }
  goto ret0;

 L3871: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L3872;
    }
  goto ret0;

 L3872: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L3873;
    }
  goto ret0;

 L3873: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7770 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 368;  /* *andsi_1 */
    }
  goto ret0;

 L4201: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L28784;
  goto ret0;

 L28784: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFT:
      goto L5559;
    case ASHIFTRT:
      goto L6030;
    case REG:
    case SUBREG:
    case MEM:
      goto L28783;
    default:
      goto ret0;
   }
 L28783: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L4202;
    }
  goto ret0;

 L5559: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L5560;
  goto ret0;

 L5560: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5561;
    }
  goto ret0;

 L5561: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L5562;
  goto ret0;

 L5562: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L5563;
    }
  goto ret0;

 L5563: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MINUS)
    goto L5564;
  goto ret0;

 L5564: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L5565;
  goto ret0;

 L5565: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 482;  /* x86_shld */
    }
  goto ret0;

 L6030: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L6031;
  goto ret0;

 L6031: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6032;
    }
  goto ret0;

 L6032: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ASHIFT)
    goto L6033;
  goto ret0;

 L6033: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6034;
    }
  goto ret0;

 L6034: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MINUS)
    goto L6035;
  goto ret0;

 L6035: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L6036;
  goto ret0;

 L6036: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 512;  /* x86_shrd */
    }
  goto ret0;

 L4202: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L4203;
    }
  goto ret0;

 L4203: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8186 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 387;  /* *iorsi_1 */
    }
  goto ret0;

 L4215: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L4216;
    }
  goto ret0;

 L4216: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L4217;
    }
  goto ret0;

 L4217: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8186 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 388;  /* *xorsi_1 */
    }
  goto ret0;

 L5030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L5031;
    }
  goto ret0;

 L5031: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8533 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 435;  /* *negsi2_1 */
    }
  goto ret0;

 L5414: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L5415;
    }
  goto ret0;

 L5415: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8867 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NOT, SImode, operands)))
    {
      return 470;  /* *one_cmplsi2_1 */
    }
  goto ret0;

 L5580: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L5581;
    }
  goto ret0;

 L5581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L5582;
 L5630: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5631;
    }
  goto ret0;

 L5582: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L5583;
  goto L5630;

 L5583: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L5584;
    }
  goto L5630;

 L5584: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L5585;
    }
  goto L5630;

 L5585: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9099 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 483;  /* *ashlsi3_mask */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L5630;

 L5631: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9122 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 487;  /* *ashlsi3_1 */
    }
  goto ret0;

 L5865: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L5866;
    }
  goto ret0;

 L5866: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L5867;
 L6117: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6118;
    }
  goto ret0;

 L5867: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L5868;
  goto L6117;

 L5868: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L5869;
    }
  goto L6117;

 L5869: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L5870;
    }
  goto L6117;

 L5870: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9601 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 503;  /* *lshrsi3_mask */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L6117;

 L6118: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9767 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 520;  /* *lshrsi3_1 */
    }
  goto ret0;

 L5885: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L5886;
    }
  goto ret0;

 L5886: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L5887;
  if (const_int_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6064;
    }
 L6131: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6132;
    }
  goto ret0;

 L5887: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L5888;
  goto L6131;

 L5888: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L5889;
    }
  goto L6131;

 L5889: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L5890;
    }
  goto L6131;

 L5890: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9601 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 504;  /* *ashrsi3_mask */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L6131;

 L6064: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9693 "../../gcc/config/i386/i386.md"
(INTVAL (operands[2]) == 31
   && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   && ix86_binary_operator_ok (ASHIFTRT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 514;  /* ashrsi3_cvt */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L6131;

 L6132: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9767 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 521;  /* *ashrsi3_1 */
    }
  goto ret0;

 L6585: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L6586;
    }
  goto ret0;

 L6586: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L6587;
 L6743: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6744;
    }
  goto ret0;

 L6587: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L6588;
  goto L6743;

 L6588: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L6589;
    }
  goto L6743;

 L6589: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L6590;
    }
  goto L6743;

 L6590: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10056 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 552;  /* *rotlsi3_mask */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L6743;

 L6744: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10139 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 562;  /* *rotlsi3_1 */
    }
  goto ret0;

 L6605: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L6606;
    }
  goto ret0;

 L6606: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L6607;
 L6757: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6758;
    }
  goto ret0;

 L6607: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L6608;
  goto L6757;

 L6608: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L6609;
    }
  goto L6757;

 L6609: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L6610;
    }
  goto L6757;

 L6610: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10056 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 553;  /* *rotrsi3_mask */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L6757;

 L6758: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10139 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, SImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 563;  /* *rotrsi3_1 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_5 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L28733;
    case ZERO_EXTRACT:
      goto L610;
    default:
     break;
   }
 L28454: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L350;
    }
 L28456: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L378;
    }
 L28461: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L432;
    }
 L28466: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == MEM)
    goto L454;
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L474;
    }
 L28489: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L1034;
    }
 L28491: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L1065;
    }
 L28494: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L1156;
    }
  goto ret0;

 L28733: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L312;
    }
  goto L28454;

 L312: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_no_elim_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L313;
    }
 L324: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_no_elim_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L325;
    }
  x1 = XEXP (x0, 0);
  goto L28454;

 L313: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1683 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 43;  /* *pushsi2 */
    }
  x1 = XEXP (x0, 1);
  goto L324;

 L325: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1696 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 46;  /* *pushsi2_rex64 */
    }
  x1 = XEXP (x0, 0);
  goto L28454;

 L610: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L611;
    }
  goto ret0;

 L611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L612;
  goto ret0;

 L612: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L634;
  goto ret0;

 L634: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L28734;
 L613: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L614;
    }
 L627: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L628;
    }
  goto ret0;

 L28734: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case LSHIFTRT:
      goto L635;
    case PLUS:
      goto L2175;
    case AND:
      goto L4047;
    case IOR:
      goto L4722;
    case XOR:
      goto L4748;
    default:
     break;
   }
  goto L613;

 L635: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L636;
    }
  goto L613;

 L636: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    {
      return 96;  /* *movqi_insv_2 */
    }
  goto L613;

 L2175: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L2176;
  goto L613;

 L2176: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L2177;
    }
  goto L613;

 L2177: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2178;
  goto L613;

 L2178: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2234;
  goto L613;

 L2234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L2235;
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L2180;
    }
 L2205: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L2206;
    }
  goto L613;

 L2235: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L2236;
    }
  goto L613;

 L2236: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2237;
  goto L613;

 L2237: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 276;  /* *addqi_ext_2 */
    }
  goto L613;

 L2180: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6158 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 274;  /* *addqi_ext_1_rex64 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L2205;

 L2206: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6193 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 275;  /* addqi_ext_1 */
    }
  x1 = XEXP (x0, 1);
  goto L613;

 L4047: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L4048;
  goto L613;

 L4048: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L4049;
    }
  goto L613;

 L4049: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4050;
  goto L613;

 L4050: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4100;
  goto L613;

 L4100: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L28739;
 L4051: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L4052;
    }
  goto L613;

 L28739: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L4101;
    case ZERO_EXTRACT:
      goto L4159;
    default:
     break;
   }
  goto L4051;

 L4101: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4102;
    }
 L4129: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L4130;
    }
  goto L4051;

 L4102: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8075 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 382;  /* *andqi_ext_1_rex64 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L4129;

 L4130: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8093 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 383;  /* *andqi_ext_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L4051;

 L4159: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4160;
    }
  goto L4051;

 L4160: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4161;
  goto L4051;

 L4161: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 384;  /* *andqi_ext_2 */
    }
  goto L4051;

 L4052: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 380;  /* andqi_ext_0 */
    }
  x1 = XEXP (x0, 1);
  goto L613;

 L4722: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L4723;
  goto L613;

 L4723: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L4724;
    }
  goto L613;

 L4724: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4725;
  goto L613;

 L4725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4779;
  goto L613;

 L4779: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L28741;
 L4726: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L4727;
    }
  goto L613;

 L28741: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L4780;
    case ZERO_EXTRACT:
      goto L4894;
    default:
     break;
   }
  goto L4726;

 L4780: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4781;
    }
 L4836: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L4837;
    }
  goto L4726;

 L4781: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8339 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 423;  /* *iorqi_ext_1_rex64 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L4836;

 L4837: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8358 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 425;  /* *iorqi_ext_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L4726;

 L4894: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4895;
    }
  goto L4726;

 L4895: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4896;
  goto L4726;

 L4896: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 8377 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 427;  /* *iorqi_ext_2 */
    }
  goto L4726;

 L4727: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8320 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 421;  /* *iorqi_ext_0 */
    }
  x1 = XEXP (x0, 1);
  goto L613;

 L4748: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L4749;
  goto L613;

 L4749: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L4750;
    }
  goto L613;

 L4750: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4751;
  goto L613;

 L4751: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4807;
  goto L613;

 L4807: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L28743;
 L4752: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L4753;
    }
  goto L613;

 L28743: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L4808;
    case ZERO_EXTRACT:
      goto L4925;
    default:
     break;
   }
  goto L4752;

 L4808: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4809;
    }
 L4864: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L4865;
    }
  goto L4752;

 L4809: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8339 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 424;  /* *xorqi_ext_1_rex64 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L4864;

 L4865: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8358 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 426;  /* *xorqi_ext_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L4752;

 L4925: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4926;
    }
  goto L4752;

 L4926: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4927;
  goto L4752;

 L4927: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 8377 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 428;  /* *xorqi_ext_2 */
    }
  goto L4752;

 L4753: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8320 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 422;  /* *xorqi_ext_0 */
    }
  x1 = XEXP (x0, 1);
  goto L613;

 L614: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2567 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 93;  /* *movsi_insv_1_rex64 */
    }
  x1 = XEXP (x0, 1);
  goto L627;

 L628: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2581 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 95;  /* *movsi_insv_1 */
    }
  goto ret0;

 L350: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (pop_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L351;
    }
  x1 = XEXP (x0, 0);
  goto L28456;

 L351: ATTRIBUTE_UNUSED_LABEL
  if (
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 51;  /* *popsi1 */
    }
  x1 = XEXP (x0, 0);
  goto L28456;

 L378: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const0_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L379;
    }
 L398: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L399;
    }
  x1 = XEXP (x0, 0);
  goto L28461;

 L379: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1783 "../../gcc/config/i386/i386.md"
(reload_completed)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 55;  /* *movsi_xor */
    }
  x1 = XEXP (x0, 1);
  goto L398;

 L399: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1793 "../../gcc/config/i386/i386.md"
(reload_completed
   && operands[1] == constm1_rtx)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 57;  /* *movsi_or */
    }
  x1 = XEXP (x0, 0);
  goto L28461;

 L432: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L433;
    }
  x1 = XEXP (x0, 0);
  goto L28466;

 L433: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2136 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 64;  /* *movsi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28466;

 L454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x86_64_movabs_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L455;
    }
  goto L28489;

 L455: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonmemory_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L456;
    }
  x1 = XEXP (x0, 0);
  goto L28489;

 L456: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2330 "../../gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 0)))
    {
      return 69;  /* *movabssi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28489;

 L474: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L28745;
 L1722: ATTRIBUTE_UNUSED_LABEL
  if (lea_address_operand (x1, SImode))
    {
      operands[1] = x1;
      return 243;  /* *leasi */
    }
 L2890: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x1) == SImode
      && GET_CODE (x1) == MULT)
    goto L2891;
  x1 = XEXP (x0, 0);
  goto L28489;

 L28745: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L475;
    case SIGN_EXTRACT:
      goto L567;
    case ZERO_EXTRACT:
      goto L585;
    case ZERO_EXTEND:
      goto L751;
    case SIGN_EXTEND:
      goto L849;
    case FIX:
      goto L1020;
    case TRUNCATE:
      goto L3160;
    case ASHIFT:
      goto L5609;
    case LSHIFTRT:
      goto L6084;
    case ASHIFTRT:
      goto L6090;
    case ROTATERT:
      goto L6722;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case GEU:
    case GTU:
    case LEU:
    case LTU:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L28756;
    default:
      goto L1722;
   }
 L28756: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x1, SImode))
    {
      operands[1] = x1;
      goto L6999;
    }
  goto L1722;

 L475: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x86_64_movabs_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L476;
    }
  goto L1722;

 L476: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2344 "../../gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 1)))
    {
      return 73;  /* *movabssi_2 */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L567: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L568;
    }
  goto L1722;

 L568: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L569;
  goto L1722;

 L569: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    {
      return 86;  /* *movsi_extv_1 */
    }
  goto L1722;

 L585: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L586;
    }
  goto L1722;

 L586: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L587;
  goto L1722;

 L587: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    {
      return 89;  /* *movsi_extzv_1 */
    }
  goto L1722;

 L751: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L28757;
    case QImode:
      goto L28759;
    default:
      break;
    }
  goto L1722;

 L28757: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L752;
    }
 L28758: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L757;
    }
  goto L1722;

 L752: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3537 "../../gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 118;  /* zero_extendhisi2_and */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28758;

 L757: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3549 "../../gcc/config/i386/i386.md"
(!TARGET_ZERO_EXTEND_WITH_AND
   || optimize_function_for_size_p (cfun)))
    {
      return 119;  /* *zero_extendhisi2_movzwl */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L28759: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L781;
    }
  goto L1722;

 L781: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3565 "../../gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 121;  /* *zero_extendqisi2_and */
    }
 L805: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3591 "../../gcc/config/i386/i386.md"
(!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 123;  /* *zero_extendqisi2_movzbl_and */
    }
 L815: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3611 "../../gcc/config/i386/i386.md"
(reload_completed
   && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))))
    {
      return 125;  /* *zero_extendqisi2_movzbl */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L28760;
    case QImode:
      goto L28761;
    default:
      break;
    }
  goto L1722;

 L28760: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      return 130;  /* extendhisi2 */
    }
  goto L1722;

 L28761: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      return 132;  /* extendqisi2 */
    }
  goto L1722;

 L1020: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L28762;
    case DFmode:
      goto L28763;
    default:
      break;
    }
  goto L1722;

 L28762: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L1021;
    }
  goto L1722;

 L1021: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4429 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode)
   && (!TARGET_FISTTP || TARGET_SSE_MATH)))
    {
      return 156;  /* fix_truncsfsi_sse */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L28763: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L1026;
    }
  goto L1722;

 L1026: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4429 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode)
   && (!TARGET_FISTTP || TARGET_SSE_MATH)))
    {
      return 157;  /* fix_truncdfsi_sse */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L3160: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L3161;
  goto L1722;

 L3161: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == MULT)
    goto L3162;
  goto L1722;

 L3162: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode)
    goto L28764;
  goto L1722;

 L28764: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case SIGN_EXTEND:
      goto L3163;
    case ZERO_EXTEND:
      goto L3188;
    default:
     break;
   }
  goto L1722;

 L3163: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, SImode))
    {
      operands[1] = x5;
      goto L3164;
    }
  goto L1722;

 L3164: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L3165;
  goto L1722;

 L3165: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L3166;
    }
  goto L1722;

 L3166: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (32)]
      && 
#line 6963 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 334;  /* *smulsi3_highpart_1 */
    }
  goto L1722;

 L3188: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, SImode))
    {
      operands[1] = x5;
      goto L3189;
    }
  goto L1722;

 L3189: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L3190;
  goto L1722;

 L3190: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L3191;
    }
  goto L1722;

 L3191: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (32)]
      && 
#line 6963 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 335;  /* *umulsi3_highpart_1 */
    }
  goto L1722;

 L5609: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L5610;
    }
  goto L1722;

 L5610: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L5611;
    }
  goto L1722;

 L5611: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9112 "../../gcc/config/i386/i386.md"
(TARGET_BMI2))
    {
      return 485;  /* *bmi2_ashlsi3_1 */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L6084: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L6085;
    }
  goto L1722;

 L6085: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L6086;
    }
  goto L1722;

 L6086: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9756 "../../gcc/config/i386/i386.md"
(TARGET_BMI2))
    {
      return 516;  /* *bmi2_lshrsi3_1 */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L6090: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L6091;
    }
  goto L1722;

 L6091: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L6092;
    }
  goto L1722;

 L6092: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9756 "../../gcc/config/i386/i386.md"
(TARGET_BMI2))
    {
      return 517;  /* *bmi2_ashrsi3_1 */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L6722: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L6723;
    }
  goto L1722;

 L6723: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6724;
    }
  goto L1722;

 L6724: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10128 "../../gcc/config/i386/i386.md"
(TARGET_BMI2))
    {
      return 560;  /* *bmi2_rorxsi3_1 */
    }
  x1 = XEXP (x0, 1);
  goto L1722;

 L6999: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7000;
  goto L1722;

 L7000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT)
    goto L28766;
  goto L1722;

 L28766: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x2, 0) == 0L)
    goto L28768;
  goto L1722;

 L28768: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10566 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 581;  /* *setcc_si_1_and */
    }
 L28769: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10582 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))))
    {
      return 582;  /* *setcc_si_1_movzbl */
    }
  goto L1722;

 L2891: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L2892;
    }
  x1 = XEXP (x0, 0);
  goto L28489;

 L2892: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L2893;
    }
  x1 = XEXP (x0, 0);
  goto L28489;

 L2893: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6651 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 319;  /* *mulsi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28489;

 L1034: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode
      && GET_CODE (x1) == FIX)
    goto L1035;
  x1 = XEXP (x0, 0);
  goto L28491;

 L1035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1036;
    }
  x1 = XEXP (x0, 0);
  goto L28491;

 L1036: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4470 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || SImode != DImode))
	&& TARGET_SSE_MATH)
   && can_create_pseudo_p ()))
    {
      return 159;  /* fix_truncsi_fisttp_i387_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28491;

 L1065: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode
      && GET_CODE (x1) == FIX)
    goto L1066;
  x1 = XEXP (x0, 0);
  goto L28494;

 L1066: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L1067;
    }
  x1 = XEXP (x0, 0);
  goto L28494;

 L1067: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4498 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || SImode != DImode))
	&& TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 162;  /* fix_truncsi_i387_fisttp */
    }
  x1 = XEXP (x0, 0);
  goto L28494;

 L1156: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L28770;
  goto ret0;

 L28770: ATTRIBUTE_UNUSED_LABEL
  return recog_4 (x0, insn, pnum_clobbers);
 ret0:
  return -1;
}

static int
recog_6 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  if (push_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L316;
    }
 L28463: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L440;
    }
 L28464: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == MEM)
    goto L444;
  if (register_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L464;
    }
 L28472: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L578;
    }
  goto ret0;

 L316: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonmemory_no_elim_operand (x1, QImode))
    {
      operands[1] = x1;
      goto L317;
    }
  x1 = XEXP (x0, 0);
  goto L28463;

 L317: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1696 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 44;  /* *pushqi2_rex64 */
    }
 L329: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1704 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 47;  /* *pushqi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28463;

 L440: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, QImode))
    {
      operands[1] = x1;
      goto L441;
    }
  x1 = XEXP (x0, 0);
  goto L28464;

 L441: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2271 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 66;  /* *movqi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28464;

 L444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x86_64_movabs_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L445;
    }
  goto L28472;

 L445: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonmemory_operand (x1, QImode))
    {
      operands[1] = x1;
      goto L446;
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L446: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2330 "../../gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 0)))
    {
      return 67;  /* *movabsqi_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L464: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode)
    goto L28786;
  x1 = XEXP (x0, 0);
  goto L28472;

 L28786: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L465;
    case SIGN_EXTRACT:
      goto L573;
    case SUBREG:
      goto L28790;
    case MULT:
      goto L2949;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28472;

 L465: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x86_64_movabs_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L466;
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L466: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2344 "../../gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 1)))
    {
      return 71;  /* *movabsqi_2 */
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L574;
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L574: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L575;
  x1 = XEXP (x0, 0);
  goto L28472;

 L575: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 2447 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 87;  /* *movqi_extv_1_rex64 */
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L28790: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 0)
    goto L597;
  x1 = XEXP (x0, 0);
  goto L28472;

 L597: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L598;
  x1 = XEXP (x0, 0);
  goto L28472;

 L598: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L599;
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L599: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L600;
  x1 = XEXP (x0, 0);
  goto L28472;

 L600: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 2509 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 91;  /* *movqi_extzv_2_rex64 */
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L2949: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L2950;
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L2950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L2951;
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L2951: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6751 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 323;  /* *mulqi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28472;

 L578: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode)
    goto L28791;
  goto ret0;

 L28791: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case SIGN_EXTRACT:
      goto L579;
    case SUBREG:
      goto L28806;
    case PLUS:
      goto L1857;
    case MINUS:
      goto L2319;
    case AND:
      goto L3915;
    case IOR:
      goto L4257;
    case XOR:
      goto L4271;
    case NEG:
      goto L5006;
    case NOT:
      goto L5424;
    case ASHIFT:
      goto L5694;
    case LSHIFTRT:
      goto L6218;
    case ASHIFTRT:
      goto L6232;
    case ROTATE:
      goto L6837;
    case ROTATERT:
      goto L6851;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case GEU:
    case GTU:
    case LEU:
    case LTU:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L28805;
    default:
      goto ret0;
   }
 L28805: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x1, QImode))
    {
      operands[1] = x1;
      goto L7009;
    }
  goto ret0;

 L579: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L580;
    }
  goto ret0;

 L580: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L581;
  goto ret0;

 L581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 2472 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 88;  /* *movqi_extv_1 */
    }
  goto ret0;

 L28806: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 0)
    goto L604;
  goto ret0;

 L604: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L605;
  goto ret0;

 L605: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L606;
    }
  goto ret0;

 L606: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L607;
  goto ret0;

 L607: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 2535 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 92;  /* *movqi_extzv_2 */
    }
  goto ret0;

 L1857: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L2534;
    }
  goto ret0;

 L2534: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == PLUS)
    goto L2535;
  if (general_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L1859;
    }
  goto ret0;

 L2535: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2536;
    }
  goto ret0;

 L2536: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L2537;
  goto ret0;

 L2537: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2538;
  goto ret0;

 L2538: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2539;
    }
  goto ret0;

 L2539: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 300;  /* *addqi3_carry */
    }
  goto ret0;

 L1859: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5685 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 254;  /* *addqi_1 */
    }
  goto ret0;

 L2319: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L2556;
    }
  goto ret0;

 L2556: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == PLUS)
    goto L2557;
  if (general_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L2321;
    }
  goto ret0;

 L2557: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2558;
    }
  goto ret0;

 L2558: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L2559;
  goto ret0;

 L2559: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2560;
  goto ret0;

 L2560: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2561;
    }
  goto ret0;

 L2561: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 301;  /* *subqi3_carry */
    }
  goto ret0;

 L2321: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6415 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 284;  /* *subqi_1 */
    }
  goto ret0;

 L3915: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L3916;
    }
  goto ret0;

 L3916: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L3917;
    }
  goto ret0;

 L3917: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7858 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 371;  /* *andqi_1 */
    }
  goto ret0;

 L4257: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L4258;
    }
  goto ret0;

 L4258: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L4259;
    }
  goto ret0;

 L4259: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8197 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 391;  /* *iorqi_1 */
    }
  goto ret0;

 L4271: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L4272;
    }
  goto ret0;

 L4272: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L4273;
    }
  goto ret0;

 L4273: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8197 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 392;  /* *xorqi_1 */
    }
  goto ret0;

 L5006: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L5007;
    }
  goto ret0;

 L5007: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8533 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 433;  /* *negqi2_1 */
    }
  goto ret0;

 L5424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L5425;
    }
  goto ret0;

 L5425: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8876 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NOT, QImode, operands)))
    {
      return 472;  /* *one_cmplqi2_1 */
    }
  goto ret0;

 L5694: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L5695;
    }
  goto ret0;

 L5695: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5696;
    }
  goto ret0;

 L5696: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9297 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 492;  /* *ashlqi3_1 */
    }
  goto ret0;

 L6218: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L6219;
    }
  goto ret0;

 L6219: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6220;
    }
  goto ret0;

 L6220: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9864 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 528;  /* *lshrqi3_1 */
    }
  goto ret0;

 L6232: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L6233;
    }
  goto ret0;

 L6233: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6234;
    }
  goto ret0;

 L6234: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9864 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 529;  /* *ashrqi3_1 */
    }
  goto ret0;

 L6837: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L6838;
    }
  goto ret0;

 L6838: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6839;
    }
  goto ret0;

 L6839: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10262 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 569;  /* *rotlqi3_1 */
    }
  goto ret0;

 L6851: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L6852;
    }
  goto ret0;

 L6852: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6853;
    }
  goto ret0;

 L6853: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10262 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, QImode, operands))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 570;  /* *rotrqi3_1 */
    }
  goto ret0;

 L7009: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7010;
  goto ret0;

 L7010: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    {
      return 583;  /* *setcc_qi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_7 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case QImode:
      goto L28888;
    case HImode:
      goto L28889;
    case SImode:
      goto L28890;
    case DImode:
      goto L28891;
    default:
      break;
    }
 L79: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L80;
    }
 L88: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == QImode)
    goto L28930;
  goto ret0;

 L28888: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MINUS:
      goto L52;
    case NEG:
      goto L1956;
    case PLUS:
      goto L2098;
    case AND:
      goto L3761;
    case IOR:
      goto L4573;
    case XOR:
      goto L4591;
    case ASHIFT:
      goto L5794;
    case LSHIFTRT:
      goto L6442;
    case ASHIFTRT:
      goto L6460;
    case REG:
    case SUBREG:
    case MEM:
      goto L28884;
    default:
      goto L28892;
   }
 L28884: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L4;
    }
 L28892: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L98;
  goto L79;

 L52: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[0] = x3;
      goto L53;
    }
  goto L79;

 L53: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L54;
    }
  goto L79;

 L54: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 993 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 8;  /* *cmpqi_minus_1 */
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L1956: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L1957;
    }
  goto L79;

 L1957: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L1958;
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L1958: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5926 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 261;  /* *addqi_3 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L79;

 L2098: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L2099;
    }
  goto L79;

 L2099: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2100;
    }
  goto L79;

 L2100: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 6108 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 270;  /* *addqi_5 */
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L3761: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[0] = x3;
      goto L3762;
    }
  goto L79;

 L3762: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L3763;
    }
  goto L79;

 L3763: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT)
    goto L28933;
  x2 = XEXP (x1, 0);
  goto L79;

 L28933: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x2, 0) == 0L)
    goto L28935;
  x2 = XEXP (x1, 0);
  goto L79;

 L28935: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7437 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))
    && ix86_match_ccmode (insn,
 			 CONST_INT_P (operands[1])
 			 && INTVAL (operands[1]) >= 0 ? CCNOmode : CCZmode)))
    {
      return 357;  /* *testqi_1_maybe_si */
    }
 L28936: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7462 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 358;  /* *testqi_1 */
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L4573: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L4574;
    }
  goto L79;

 L4574: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L4575;
    }
  goto L79;

 L4575: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 413;  /* *iorqi_3 */
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L4591: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L4592;
    }
  goto L79;

 L4592: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L4593;
    }
  goto L79;

 L4593: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 414;  /* *xorqi_3 */
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L5794: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L5795;
    }
  goto L79;

 L5795: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5796;
    }
  goto L79;

 L5796: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9543 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 499;  /* *ashlqi3_cconly */
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L6442: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6443;
    }
  goto L79;

 L6443: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6444;
    }
  goto L79;

 L6444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 544;  /* *lshrqi3_cconly */
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L6460: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6461;
    }
  goto L79;

 L6461: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6462;
    }
  goto L79;

 L6462: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 545;  /* *ashrqi3_cconly */
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L4: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L5;
    }
 L28: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L29;
    }
  x2 = XEXP (x1, 0);
  goto L28892;

 L5: ATTRIBUTE_UNUSED_LABEL
  if (
#line 970 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return 0;  /* *cmpqi_ccno_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L28;

 L29: ATTRIBUTE_UNUSED_LABEL
  if (
#line 982 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
    {
      return 4;  /* *cmpqi_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28892;

 L98: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L99;
  goto L79;

 L99: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[0] = x4;
      goto L100;
    }
  goto L79;

 L100: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L101;
  goto L79;

 L101: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L102;
  goto L79;

 L102: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L103;
    }
  x2 = XEXP (x1, 0);
  goto L79;

 L103: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1035 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return 14;  /* *cmpqi_ext_2 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L79;

 L28889: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MINUS:
      goto L59;
    case NEG:
      goto L1973;
    case PLUS:
      goto L2116;
    case AND:
      goto L3775;
    case IOR:
      goto L4609;
    case XOR:
      goto L4627;
    case ASHIFT:
      goto L5812;
    case LSHIFTRT:
      goto L6478;
    case ASHIFTRT:
      goto L6496;
    case REG:
    case SUBREG:
    case MEM:
      goto L28885;
    default:
      goto L28898;
   }
 L28885: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L10;
    }
 L28898: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L2066;
    }
  goto ret0;

 L59: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[0] = x3;
      goto L60;
    }
  goto ret0;

 L60: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L61;
    }
  goto ret0;

 L61: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 993 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 9;  /* *cmphi_minus_1 */
    }
  goto ret0;

 L1973: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L1974;
    }
  goto ret0;

 L1974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L1975;
    }
  goto ret0;

 L1975: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5926 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 262;  /* *addhi_3 */
    }
  goto ret0;

 L2116: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L2117;
    }
  goto ret0;

 L2117: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L2118;
    }
  goto ret0;

 L2118: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 6108 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 271;  /* *addhi_5 */
    }
  goto ret0;

 L3775: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[0] = x3;
      goto L3776;
    }
  goto ret0;

 L3776: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L3777;
    }
  goto ret0;

 L3777: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7462 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 359;  /* *testhi_1 */
    }
  goto ret0;

 L4609: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L4610;
    }
  goto ret0;

 L4610: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L4611;
    }
  goto ret0;

 L4611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 415;  /* *iorhi_3 */
    }
  goto ret0;

 L4627: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L4628;
    }
  goto ret0;

 L4628: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L4629;
    }
  goto ret0;

 L4629: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 416;  /* *xorhi_3 */
    }
  goto ret0;

 L5812: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L5813;
    }
  goto ret0;

 L5813: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5814;
    }
  goto ret0;

 L5814: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9543 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 500;  /* *ashlhi3_cconly */
    }
  goto ret0;

 L6478: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L6479;
    }
  goto ret0;

 L6479: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6480;
    }
  goto ret0;

 L6480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 546;  /* *lshrhi3_cconly */
    }
  goto ret0;

 L6496: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L6497;
    }
  goto ret0;

 L6497: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6498;
    }
  goto ret0;

 L6498: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 547;  /* *ashrhi3_cconly */
    }
  goto ret0;

 L10: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L11;
    }
 L34: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L35;
    }
  x2 = XEXP (x1, 0);
  goto L28898;

 L11: ATTRIBUTE_UNUSED_LABEL
  if (
#line 970 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return 1;  /* *cmphi_ccno_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L34;

 L35: ATTRIBUTE_UNUSED_LABEL
  if (
#line 982 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
    {
      return 5;  /* *cmphi_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28898;

 L2066: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L2067;
    }
  goto ret0;

 L2067: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6069 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 268;  /* *addhi_4 */
    }
  goto ret0;

 L28890: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MINUS:
      goto L66;
    case NEG:
      goto L1990;
    case PLUS:
      goto L2134;
    case AND:
      goto L3782;
    case ZERO_EXTRACT:
      goto L3842;
    case IOR:
      goto L4645;
    case XOR:
      goto L4663;
    case ASHIFT:
      goto L5830;
    case LSHIFTRT:
      goto L6514;
    case ASHIFTRT:
      goto L6532;
    case REG:
    case SUBREG:
    case MEM:
      goto L28886;
    default:
      goto L28899;
   }
 L28886: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L16;
    }
 L28899: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L2081;
    }
  goto ret0;

 L66: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L67;
    }
  goto ret0;

 L67: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L68;
    }
  goto ret0;

 L68: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 993 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 10;  /* *cmpsi_minus_1 */
    }
  goto ret0;

 L1990: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L1991;
    }
  goto ret0;

 L1991: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1992;
    }
  goto ret0;

 L1992: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5926 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 263;  /* *addsi_3 */
    }
  goto ret0;

 L2134: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2135;
    }
  goto ret0;

 L2135: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2136;
    }
  goto ret0;

 L2136: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 6108 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 272;  /* *addsi_5 */
    }
  goto ret0;

 L3782: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L28938;
  goto ret0;

 L28938: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ZERO_EXTRACT)
    goto L3790;
  if (nonimmediate_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L3783;
    }
  goto ret0;

 L3790: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[0] = x4;
      goto L3791;
    }
  goto ret0;

 L3791: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L3792;
  goto ret0;

 L3792: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L3803;
  goto ret0;

 L3803: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode)
    goto L28939;
 L3793: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L3794;
    }
  goto ret0;

 L28939: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      goto L3804;
    case ZERO_EXTRACT:
      goto L3826;
    default:
     break;
   }
  goto L3793;

 L3804: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L3805;
    }
 L3815: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L3816;
    }
  goto L3793;

 L3805: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7510 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)))
    {
      return 362;  /* *testqi_ext_1_rex64 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  goto L3815;

 L3816: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7526 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)))
    {
      return 363;  /* *testqi_ext_1 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  goto L3793;

 L3826: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L3827;
    }
  goto L3793;

 L3827: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L3828;
  goto L3793;

 L3828: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L3829;
  goto L3793;

 L3829: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7544 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return 364;  /* *testqi_ext_2 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  goto L3793;

 L3794: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7491 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return 361;  /* *testqi_ext_0 */
    }
  goto ret0;

 L3783: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L3784;
    }
  goto ret0;

 L3784: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7462 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 360;  /* *testsi_1 */
    }
  goto ret0;

 L3842: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L3843;
    }
  goto ret0;

 L3843: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L3844;
    }
  goto ret0;

 L3844: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3845;
    }
  goto ret0;

 L3845: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7578 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && INTVAL (operands[1]) > 0
   && INTVAL (operands[2]) >= 0
   && INTVAL (operands[1]) + INTVAL (operands[2]) <= 32
   && (GET_MODE (operands[0]) == SImode
       || (TARGET_64BIT && GET_MODE (operands[0]) == DImode)
       || GET_MODE (operands[0]) == HImode
       || GET_MODE (operands[0]) == QImode)))
    {
      return 366;  /* *testqi_ext_3 */
    }
  goto ret0;

 L4645: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L4646;
    }
  goto ret0;

 L4646: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L4647;
    }
  goto ret0;

 L4647: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 417;  /* *iorsi_3 */
    }
  goto ret0;

 L4663: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L4664;
    }
  goto ret0;

 L4664: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L4665;
    }
  goto ret0;

 L4665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 418;  /* *xorsi_3 */
    }
  goto ret0;

 L5830: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L5831;
    }
  goto ret0;

 L5831: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5832;
    }
  goto ret0;

 L5832: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9543 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 501;  /* *ashlsi3_cconly */
    }
  goto ret0;

 L6514: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6515;
    }
  goto ret0;

 L6515: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6516;
    }
  goto ret0;

 L6516: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 548;  /* *lshrsi3_cconly */
    }
  goto ret0;

 L6532: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6533;
    }
  goto ret0;

 L6533: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6534;
    }
  goto ret0;

 L6534: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 549;  /* *ashrsi3_cconly */
    }
  goto ret0;

 L16: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L17;
    }
 L40: ATTRIBUTE_UNUSED_LABEL
  if (x86_64_general_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L41;
    }
  x2 = XEXP (x1, 0);
  goto L28899;

 L17: ATTRIBUTE_UNUSED_LABEL
  if (
#line 970 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return 2;  /* *cmpsi_ccno_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L40;

 L41: ATTRIBUTE_UNUSED_LABEL
  if (
#line 982 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
    {
      return 6;  /* *cmpsi_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28899;

 L2081: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L2082;
    }
  goto ret0;

 L2082: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6069 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 269;  /* *addsi_4 */
    }
  goto ret0;

 L28891: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MINUS:
      goto L73;
    case NEG:
      goto L2007;
    case PLUS:
      goto L2152;
    case AND:
      goto L3754;
    case ZERO_EXTRACT:
      goto L3834;
    case IOR:
      goto L4681;
    case XOR:
      goto L4699;
    case ASHIFT:
      goto L5848;
    case LSHIFTRT:
      goto L6550;
    case ASHIFTRT:
      goto L6568;
    case REG:
    case SUBREG:
    case MEM:
      goto L28887;
    default:
      goto L28897;
   }
 L28887: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L22;
    }
 L28897: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L2036;
    }
  goto ret0;

 L73: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L74;
    }
  goto ret0;

 L74: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L75;
    }
  goto ret0;

 L75: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 993 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 11;  /* *cmpdi_minus_1 */
    }
  goto ret0;

 L2007: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2008;
    }
  goto ret0;

 L2008: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L2009;
    }
  goto ret0;

 L2009: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5926 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 264;  /* *adddi_3 */
    }
  goto ret0;

 L2152: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L2153;
    }
  goto ret0;

 L2153: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2154;
    }
  goto ret0;

 L2154: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 6108 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 273;  /* *adddi_5 */
    }
  goto ret0;

 L3754: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L3755;
    }
  goto ret0;

 L3755: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_szext_general_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L3756;
    }
  goto ret0;

 L3756: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7418 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 356;  /* *testdi_1 */
    }
  goto ret0;

 L3834: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L3835;
    }
  goto ret0;

 L3835: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L3836;
    }
  goto ret0;

 L3836: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (const_int_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3837;
    }
  goto ret0;

 L3837: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7556 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && ix86_match_ccmode (insn, CCNOmode)
   && INTVAL (operands[1]) > 0
   && INTVAL (operands[2]) >= 0
   /* Ensure that resulting mask is zero or sign extended operand.  */
   && (INTVAL (operands[1]) + INTVAL (operands[2]) <= 32
       || (INTVAL (operands[1]) + INTVAL (operands[2]) == 64
	   && INTVAL (operands[1]) > 32))
   && (GET_MODE (operands[0]) == SImode
       || GET_MODE (operands[0]) == DImode
       || GET_MODE (operands[0]) == HImode
       || GET_MODE (operands[0]) == QImode)))
    {
      return 365;  /* *testqi_ext_3_rex64 */
    }
  goto ret0;

 L4681: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L4682;
    }
  goto ret0;

 L4682: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L4683;
    }
  goto ret0;

 L4683: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 419;  /* *iordi_3 */
    }
  goto ret0;

 L4699: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L4700;
    }
  goto ret0;

 L4700: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L4701;
    }
  goto ret0;

 L4701: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 420;  /* *xordi_3 */
    }
  goto ret0;

 L5848: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L5849;
    }
  goto ret0;

 L5849: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_63_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5850;
    }
  goto ret0;

 L5850: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 9543 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 502;  /* *ashldi3_cconly */
    }
  goto ret0;

 L6550: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6551;
    }
  goto ret0;

 L6551: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_63_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6552;
    }
  goto ret0;

 L6552: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 550;  /* *lshrdi3_cconly */
    }
  goto ret0;

 L6568: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6569;
    }
  goto ret0;

 L6569: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_63_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6570;
    }
  goto ret0;

 L6570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 551;  /* *ashrdi3_cconly */
    }
  goto ret0;

 L22: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L23;
    }
 L46: ATTRIBUTE_UNUSED_LABEL
  if (x86_64_general_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L47;
    }
  x2 = XEXP (x1, 0);
  goto L28897;

 L23: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 970 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 3;  /* *cmpdi_ccno_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L46;

 L47: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 982 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 7;  /* *cmpdi_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28897;

 L2036: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_immediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L2037;
    }
  goto ret0;

 L2037: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6024 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && ix86_match_ccmode (insn, CCGCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 266;  /* *adddi_4 */
    }
  goto ret0;

 L80: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L81;
  x2 = XEXP (x1, 0);
  goto L88;

 L81: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L82;
  x2 = XEXP (x1, 0);
  goto L88;

 L82: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L83;
    }
  x2 = XEXP (x1, 0);
  goto L88;

 L83: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L84;
  x2 = XEXP (x1, 0);
  goto L88;

 L84: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 1007 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && ix86_match_ccmode (insn, CCmode)))
    {
      return 12;  /* *cmpqi_ext_1 */
    }
  x2 = XEXP (x1, 0);
  goto L88;

 L28930: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L89;
    }
 L28931: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L108;
 L28932: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L2051;
    }
  goto ret0;

 L89: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L90;
  x2 = XEXP (x1, 0);
  goto L28931;

 L90: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L91;
  x2 = XEXP (x1, 0);
  goto L28931;

 L91: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L92;
    }
  x2 = XEXP (x1, 0);
  goto L28931;

 L92: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L93;
  x2 = XEXP (x1, 0);
  goto L28931;

 L93: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 1021 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCmode)))
    {
      return 13;  /* *cmpqi_ext_1_rex64 */
    }
  x2 = XEXP (x1, 0);
  goto L28931;

 L108: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L109;
  goto L28932;

 L109: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[0] = x4;
      goto L110;
    }
  goto L28932;

 L110: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L111;
  goto L28932;

 L111: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L112;
  goto L28932;

 L112: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L113;
    }
 L122: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L123;
    }
 L132: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L133;
  x2 = XEXP (x1, 0);
  goto L28932;

 L113: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1060 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && ix86_match_ccmode (insn, CCmode)))
    {
      return 15;  /* *cmpqi_ext_3_insn */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L122;

 L123: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1075 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCmode)))
    {
      return 16;  /* *cmpqi_ext_3_insn_rex64 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L132;

 L133: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L134;
  x2 = XEXP (x1, 0);
  goto L28932;

 L134: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L135;
    }
  x2 = XEXP (x1, 0);
  goto L28932;

 L135: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L136;
  x2 = XEXP (x1, 0);
  goto L28932;

 L136: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 1094 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
    {
      return 17;  /* *cmpqi_ext_4 */
    }
  x2 = XEXP (x1, 0);
  goto L28932;

 L2051: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L2052;
    }
  goto ret0;

 L2052: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6069 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 267;  /* *addqi_4 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_8 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    case SImode:
      goto L28962;
    case DImode:
      goto L28963;
    default:
      break;
    }
 L7031: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case IF_THEN_ELSE:
      goto L7032;
    case LABEL_REF:
      goto L7418;
    default:
     break;
   }
  goto ret0;

 L28962: ATTRIBUTE_UNUSED_LABEL
  if (indirect_branch_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L7422;
    }
  goto L7031;

 L7422: ATTRIBUTE_UNUSED_LABEL
  if (
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 603;  /* *indirect_jump */
    }
  x1 = XEXP (x0, 1);
  goto L7031;

 L28963: ATTRIBUTE_UNUSED_LABEL
  if (indirect_branch_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L7426;
    }
  goto L7031;

 L7426: ATTRIBUTE_UNUSED_LABEL
  if (
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 604;  /* *indirect_jump */
    }
  x1 = XEXP (x0, 1);
  goto L7031;

 L7032: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L7033;
    }
 L7066: ATTRIBUTE_UNUSED_LABEL
  if (bt_comparison_operator (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L7067;
    }
 L7247: ATTRIBUTE_UNUSED_LABEL
  if (ix86_fp_comparison_operator (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L7248;
    }
 L7380: ATTRIBUTE_UNUSED_LABEL
  if (ix86_swapped_fp_comparison_operator (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L7381;
    }
  goto ret0;

 L7033: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L7034;
  goto L7066;

 L7034: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7035;
  goto L7066;

 L7035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case LABEL_REF:
      goto L7036;
    case PC:
      goto L7045;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7066;

 L7036: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  goto L7037;

 L7037: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC)
    {
      return 587;  /* *jcc_1 */
    }
  x2 = XEXP (x1, 0);
  goto L7066;

 L7045: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7046;
  x2 = XEXP (x1, 0);
  goto L7066;

 L7046: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  return 588;  /* *jcc_2 */

 L7067: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L28964;
    case DImode:
      goto L28965;
    default:
      break;
    }
  goto L7247;

 L28964: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ZERO_EXTRACT:
      goto L7068;
    case AND:
      goto L7184;
    default:
     break;
   }
  goto L7247;

 L7068: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L7069;
    }
  goto L7247;

 L7069: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L7070;
  goto L7247;

 L7070: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_MODE (x4) == SImode)
    goto L28967;
  goto L7247;

 L28967: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case ZERO_EXTEND:
      goto L7071;
    case AND:
      goto L7129;
    default:
     break;
   }
  goto L7247;

 L7071: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, QImode))
    {
      operands[2] = x5;
      goto L7072;
    }
  goto L7247;

 L7072: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7073;
  goto L7247;

 L7073: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7074;
  x2 = XEXP (x1, 0);
  goto L7247;

 L7074: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  goto L7075;

 L7075: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 10800 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 589;  /* *jcc_btsi */
    }
  x2 = XEXP (x1, 0);
  goto L7247;

 L7129: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L7130;
    }
  goto L7247;

 L7130: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L7131;
    }
  goto L7247;

 L7131: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7132;
  x2 = XEXP (x1, 0);
  goto L7247;

 L7132: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[4] = x3;
  goto L7133;

 L7133: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 10834 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 591;  /* *jcc_btsi_mask */
    }
  x2 = XEXP (x1, 0);
  goto L7247;

 L7184: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == LSHIFTRT)
    goto L7185;
  goto L7247;

 L7185: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[1] = x5;
      goto L7186;
    }
  goto L7247;

 L7186: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == QImode)
    goto L28969;
  goto L7247;

 L28969: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, QImode))
    {
      operands[2] = x5;
      goto L7187;
    }
 L28970: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == SUBREG
      && XINT (x5, 1) == 0)
    goto L7219;
  goto L7247;

 L7187: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L7188;
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  goto L28970;

 L7188: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7189;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  goto L28970;

 L7189: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7190;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  goto L28970;

 L7190: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  goto L7191;

 L7191: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 10868 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 593;  /* *jcc_btsi_1 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  goto L28970;

 L7219: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == SImode
      && GET_CODE (x6) == AND)
    goto L7220;
  goto L7247;

 L7220: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (register_operand (x7, SImode))
    {
      operands[2] = x7;
      goto L7221;
    }
  goto L7247;

 L7221: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (const_int_operand (x7, SImode))
    {
      operands[3] = x7;
      goto L7222;
    }
  goto L7247;

 L7222: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L7223;
  goto L7247;

 L7223: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7224;
  goto L7247;

 L7224: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7225;
  x2 = XEXP (x1, 0);
  goto L7247;

 L7225: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[4] = x3;
  goto L7226;

 L7226: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 10905 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & 0x1f) == 0x1f)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 594;  /* *jcc_btsi_mask_1 */
    }
  x2 = XEXP (x1, 0);
  goto L7247;

 L28965: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ZERO_EXTRACT)
    goto L7097;
  goto L7247;

 L7097: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L7098;
    }
  goto L7247;

 L7098: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L7099;
  goto L7247;

 L7099: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_MODE (x4) == SImode)
    goto L28971;
  goto L7247;

 L28971: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case ZERO_EXTEND:
      goto L7100;
    case AND:
      goto L7158;
    default:
     break;
   }
  goto L7247;

 L7100: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, QImode))
    {
      operands[2] = x5;
      goto L7101;
    }
  goto L7247;

 L7101: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7102;
  goto L7247;

 L7102: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7103;
  x2 = XEXP (x1, 0);
  goto L7247;

 L7103: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  goto L7104;

 L7104: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && (
#line 10800 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 590;  /* *jcc_btdi */
    }
  x2 = XEXP (x1, 0);
  goto L7247;

 L7158: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L7159;
    }
  goto L7247;

 L7159: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L7160;
    }
  goto L7247;

 L7160: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7161;
  x2 = XEXP (x1, 0);
  goto L7247;

 L7161: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[4] = x3;
  goto L7162;

 L7162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && (
#line 10834 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 592;  /* *jcc_btdi_mask */
    }
  x2 = XEXP (x1, 0);
  goto L7247;

 L7248: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L7249;
    }
  goto L7380;

 L7249: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L7250;
    }
 L7302: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L7303;
    }
  if (const0_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L7356;
    }
  goto L7380;

 L7250: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case LABEL_REF:
      goto L7251;
    case PC:
      goto L7277;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  goto L7302;

 L7251: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  goto L7252;

 L7252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 10935 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (GET_MODE (operands[1]) == SFmode || GET_MODE (operands[1]) == DFmode)
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && SELECT_CC_MODE (GET_CODE (operands[0]),
		      operands[1], operands[2]) == CCFPmode
   && !TARGET_CMOVE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 595;  /* *fp_jcc_1_387 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  goto L7302;

 L7277: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7278;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  goto L7302;

 L7278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  goto L7279;

 L7279: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10953 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (GET_MODE (operands[1]) == SFmode || GET_MODE (operands[1]) == DFmode)
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && SELECT_CC_MODE (GET_CODE (operands[0]),
		      operands[1], operands[2]) == CCFPmode
   && !TARGET_CMOVE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 596;  /* *fp_jcc_1r_387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  goto L7302;

 L7303: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case LABEL_REF:
      goto L7304;
    case PC:
      goto L7330;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7380;

 L7304: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  goto L7305;

 L7305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 10971 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && !TARGET_CMOVE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 597;  /* *fp_jcc_2_387 */
    }
  x2 = XEXP (x1, 0);
  goto L7380;

 L7330: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7331;
  x2 = XEXP (x1, 0);
  goto L7380;

 L7331: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  goto L7332;

 L7332: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10986 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && !TARGET_CMOVE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 598;  /* *fp_jcc_2r_387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L7380;

 L7356: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7357;
  x2 = XEXP (x1, 0);
  goto L7380;

 L7357: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[3] = x3;
  goto L7358;

 L7358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 11001 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && SELECT_CC_MODE (GET_CODE (operands[0]),
		      operands[1], operands[2]) == CCFPmode
   && !TARGET_CMOVE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 599;  /* *fp_jcc_3_387 */
    }
  x2 = XEXP (x1, 0);
  goto L7380;

 L7381: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (float_operator (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L7382;
    }
  goto ret0;

 L7382: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case HImode:
      goto L28973;
    case SImode:
      goto L28974;
    default:
      break;
    }
  goto ret0;

 L28973: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L7383;
    }
  goto ret0;

 L7383: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L7384;
    }
  goto ret0;

 L7384: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7385;
  goto ret0;

 L7385: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[4] = x3;
  goto L7386;

 L7386: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 11060 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[3]))
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[1]) == GET_MODE (operands[3])
   && ix86_fp_compare_mode (swap_condition (GET_CODE (operands[0]))) == CCFPmode
   && !TARGET_CMOVE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 600;  /* *fp_jcc_4_hi_387 */
    }
  goto ret0;

 L28974: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L7411;
    }
  goto ret0;

 L7411: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L7412;
    }
  goto ret0;

 L7412: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7413;
  goto ret0;

 L7413: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[4] = x3;
  goto L7414;

 L7414: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC
      && 
#line 11060 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[3]))
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[1]) == GET_MODE (operands[3])
   && ix86_fp_compare_mode (swap_condition (GET_CODE (operands[0]))) == CCFPmode
   && !TARGET_CMOVE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 601;  /* *fp_jcc_4_si_387 */
    }
  goto ret0;

 L7418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  return 602;  /* jump */
 ret0:
  return -1;
}

static int
recog_9 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case BSWAP:
      goto L8740;
    case UNSPEC:
      goto L29037;
    case PLUS:
      goto L8894;
    case IF_THEN_ELSE:
      goto L10703;
    case SIGN_EXTRACT:
      goto L10741;
    case NEG:
      goto L10777;
    case UNSPEC_VOLATILE:
      goto L29043;
    default:
     break;
   }
  goto ret0;

 L8740: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8741;
    }
  goto ret0;

 L8741: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12435 "../../gcc/config/i386/i386.md"
(TARGET_BSWAP))
    {
      return 711;  /* *bswapsi2_1 */
    }
  goto ret0;

 L29037: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 3:
      goto L29049;
    case 2:
      goto L29050;
    case 1:
      goto L29051;
    case 4:
      goto L29052;
    default:
      break;
    }
  goto ret0;

 L29049: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 19)
    goto L8834;
  goto ret0;

 L8834: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8835;
    }
  goto ret0;

 L8835: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (tls_symbolic_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L8836;
    }
  goto ret0;

 L8836: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (constant_call_address_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L8837;
    }
  goto ret0;

 L8837: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12589 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU_TLS)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 718;  /* *tls_global_dynamic_32_gnu */
    }
  goto ret0;

 L29050: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 20L:
      goto L8863;
    case 81L:
      goto L11202;
    default:
      break;
    }
  goto ret0;

 L8863: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8864;
    }
  goto ret0;

 L8864: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (constant_call_address_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L8865;
    }
  goto ret0;

 L8865: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12656 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU_TLS)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 720;  /* *tls_local_dynamic_base_32_gnu */
    }
  goto ret0;

 L11202: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L11203;
    }
  goto ret0;

 L11203: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  switch (GET_MODE (x2))
    {
    case QImode:
      goto L29056;
    case HImode:
      goto L29057;
    case SImode:
      goto L29058;
    default:
      break;
    }
  goto ret0;

 L29056: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L11204;
    }
  goto ret0;

 L11204: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17856 "../../gcc/config/i386/i386.md"
(TARGET_SSE4_2 || TARGET_CRC32))
    {
      return 929;  /* sse4_2_crc32qi */
    }
  goto ret0;

 L29057: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L11210;
    }
  goto ret0;

 L11210: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17856 "../../gcc/config/i386/i386.md"
(TARGET_SSE4_2 || TARGET_CRC32))
    {
      return 930;  /* sse4_2_crc32hi */
    }
  goto ret0;

 L29058: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11216;
    }
  goto ret0;

 L11216: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17856 "../../gcc/config/i386/i386.md"
(TARGET_SSE4_2 || TARGET_CRC32))
    {
      return 931;  /* sse4_2_crc32si */
    }
  goto ret0;

 L29051: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 18L:
      goto L8904;
    case 54L:
      goto L9745;
    case 41L:
      goto L10145;
    default:
      break;
    }
  goto ret0;

 L8904: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == CONST_INT)
    goto L29059;
  goto ret0;

 L29059: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x2, 0) == 0L)
    goto L29061;
  goto ret0;

 L29061: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12740 "../../gcc/config/i386/i386.md"
(TARGET_X32))
    {
      return 723;  /* *load_tp_x32 */
    }
 L29062: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12762 "../../gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 725;  /* *load_tp_si */
    }
  goto ret0;

 L9745: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9746;
    }
  goto ret0;

 L9746: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14747 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
    {
      return 816;  /* *fistsi2_1 */
    }
  goto ret0;

 L10145: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L10146;
    }
  goto ret0;

 L10146: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15620 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 852;  /* movmsk_df */
    }
  goto ret0;

 L29052: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 21)
    goto L9005;
  goto ret0;

 L9005: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (tls_symbolic_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L9006;
    }
  goto ret0;

 L9006: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L9007;
    }
  goto ret0;

 L9007: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (register_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L9008;
    }
  goto ret0;

 L9008: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7
      && 
#line 12868 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 732;  /* *tls_dynamic_gnu2_call_32 */
    }
  goto ret0;

 L8894: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L29063;
  goto ret0;

 L29063: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L29067;
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8988;
    }
  goto ret0;

 L29067: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 2:
      goto L29070;
    case 1:
      goto L29071;
    case 4:
      goto L29072;
    default:
      break;
    }
  goto ret0;

 L29070: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 20)
    goto L8895;
  goto ret0;

 L8895: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8896;
    }
  goto ret0;

 L8896: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (constant_call_address_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8897;
    }
  goto ret0;

 L8897: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == CONST)
    goto L8898;
  goto ret0;

 L8898: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 1
      && XINT (x3, 1) == 6)
    goto L8899;
  goto ret0;

 L8899: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (tls_symbolic_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L8900;
    }
  goto ret0;

 L8900: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 722;  /* *tls_local_dynamic_32_once */
    }
  goto ret0;

 L29071: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 18)
    goto L8931;
  goto ret0;

 L8931: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8932;
  goto ret0;

 L8932: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8933;
    }
  goto ret0;

 L8933: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12775 "../../gcc/config/i386/i386.md"
(TARGET_X32)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 727;  /* *add_tp_x32 */
    }
 L8967: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12802 "../../gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 729;  /* *add_tp_si */
    }
  goto ret0;

 L29072: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 21)
    goto L9027;
  goto ret0;

 L9027: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (tls_modbase_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L9028;
    }
  goto ret0;

 L9028: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  operands[4] = x3;
  goto L9029;

 L9029: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L9030;
    }
  goto ret0;

 L9030: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L9031;
  goto ret0;

 L9031: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == CONST)
    goto L9032;
  goto ret0;

 L9032: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 1
      && XINT (x3, 1) == 6)
    goto L9033;
  goto ret0;

 L9033: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (tls_symbolic_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L9034;
    }
  goto ret0;

 L9034: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12886 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 733;  /* *tls_dynamic_gnu2_combine_32 */
    }
  goto ret0;

 L8988: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == CONST)
    goto L8989;
  goto ret0;

 L8989: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 1
      && XINT (x3, 1) == 21)
    goto L8990;
  goto ret0;

 L8990: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (tls_symbolic_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L8991;
    }
  goto ret0;

 L8991: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12852 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS))
    {
      return 731;  /* *tls_dynamic_gnu2_lea_32 */
    }
  goto ret0;

 L10703: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_carry_flag_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10704;
    }
 L10807: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10808;
    }
  goto ret0;

 L10704: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10705;
  goto L10807;

 L10705: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10706;
  goto L10807;

 L10706: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)])
    goto L10707;
  x2 = XEXP (x1, 0);
  goto L10807;

 L10707: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 884;  /* *x86_movsicc_0_m1 */
    }
  x2 = XEXP (x1, 0);
  goto L10807;

 L10808: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10809;
  goto ret0;

 L10809: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10810;
  goto ret0;

 L10810: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L10811;
    }
  goto ret0;

 L10811: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L10812;
    }
  goto ret0;

 L10812: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16405 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 891;  /* *movsicc_noc */
    }
  goto ret0;

 L10741: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_carry_flag_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10742;
    }
  goto ret0;

 L10742: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10743;
  goto ret0;

 L10743: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10744;
  goto ret0;

 L10744: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L10745;
  goto ret0;

 L10745: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 886;  /* *x86_movsicc_0_m1_se */
    }
  goto ret0;

 L10777: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_carry_flag_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10778;
    }
  goto ret0;

 L10778: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10779;
  goto ret0;

 L10779: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 888;  /* *x86_movsicc_0_m1_neg */
    }
  goto ret0;

 L29043: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29073;
    case 2:
      goto L29074;
    default:
      break;
    }
  goto ret0;

 L29073: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 1L:
      goto L10983;
    case 12L:
      goto L11281;
    case 15L:
      goto L11313;
    case 16L:
      goto L11321;
    default:
      break;
    }
  goto ret0;

 L10983: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10984;
    }
  goto ret0;

 L10984: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16709 "../../gcc/config/i386/i386.md"
(ix86_target_stack_probe ()) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 912;  /* allocate_stack_worker_probe_si */
    }
  goto ret0;

 L11281: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 18085 "../../gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 941;  /* lwp_slwpcbsi */
    }
  goto ret0;

 L11313: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 18138 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE))
    {
      return 947;  /* rdfsbasesi */
    }
  goto ret0;

 L11321: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 18146 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE))
    {
      return 949;  /* rdgsbasesi */
    }
  goto ret0;

 L29074: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 2)
    goto L11038;
  goto ret0;

 L11038: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L11039;
    }
  goto ret0;

 L11039: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11040;
    }
  goto ret0;

 L11040: ATTRIBUTE_UNUSED_LABEL
  if (
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 916;  /* probe_stack_rangesi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_10 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L7855;
    }
 L28508: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L8729;
    }
 L28510: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L8739;
    }
 L28518: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L9754;
    }
  goto ret0;

 L7855: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L28979;
  x1 = XEXP (x0, 0);
  goto L28508;

 L28979: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L28992;
    case FFS:
      goto L7928;
    case CTZ:
      goto L7972;
    case CLZ:
      goto L8008;
    case AND:
      goto L8034;
    case XOR:
      goto L8125;
    case ZERO_EXTRACT:
      goto L8252;
    case IOR:
      goto L8320;
    case MINUS:
      goto L8626;
    case POPCOUNT:
      goto L8668;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28508;

 L28992: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L28996;
    case 2:
      goto L28997;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L28996: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 13)
    goto L7856;
  x1 = XEXP (x0, 0);
  goto L28508;

 L7856: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_CODE (x2))
    {
    case CONST_INT:
      goto L29000;
    case LABEL_REF:
      goto L7869;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28508;

 L29000: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x2, 0) == 0L
      && 
#line 11812 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 645;  /* set_got */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L7869: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  goto L7870;

 L7870: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11822 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 646;  /* set_got_labelled */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L28997: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 82L:
      goto L8065;
    case 83L:
      goto L8219;
    case 84L:
      goto L8231;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8065: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8066;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8066: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L8067;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8067: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12095 "../../gcc/config/i386/i386.md"
(TARGET_BMI)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 665;  /* bmi_bextr_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8219: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8220;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8220: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L8221;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8221: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12156 "../../gcc/config/i386/i386.md"
(TARGET_BMI2))
    {
      return 675;  /* bmi2_pdep_si3 */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8231: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8232;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8232: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L8233;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8233: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12167 "../../gcc/config/i386/i386.md"
(TARGET_BMI2))
    {
      return 677;  /* bmi2_pext_si3 */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L7928: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L7929;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L7929: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11999 "../../gcc/config/i386/i386.md"
(!TARGET_CMOVE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 654;  /* ffssi2_no_cmove */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L7972: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L7973;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L7973: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 658;  /* ctzsi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8008: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8009;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8009: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12070 "../../gcc/config/i386/i386.md"
(TARGET_LZCNT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 661;  /* clzsi2_lzcnt */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8034: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L29001;
  x1 = XEXP (x0, 0);
  goto L28508;

 L29001: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case NOT:
      goto L8035;
    case NEG:
      goto L8095;
    case PLUS:
      goto L8160;
    case LSHIFTRT:
      goto L8194;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8035: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8036;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8036: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L8037;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8037: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12084 "../../gcc/config/i386/i386.md"
(TARGET_BMI)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 663;  /* *bmi_andn_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8095: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8096;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8096: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 12107 "../../gcc/config/i386/i386.md"
(TARGET_BMI)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 667;  /* *bmi_blsi_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8160: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8161;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8161: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT)
    goto L29005;
  x1 = XEXP (x0, 0);
  goto L28508;

 L29005: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case -1L:
        goto L8162;
      case 1L:
        goto L8288;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 12133 "../../gcc/config/i386/i386.md"
(TARGET_BMI)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 671;  /* *bmi_blsr_si */
    }
 L8577: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == NOT)
    goto L8578;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8578: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 12306 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 697;  /* *tbm_tzmsk_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8288: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 12197 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 681;  /* *tbm_blcfill_si */
    }
 L8361: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == NOT)
    goto L8362;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8362: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 12225 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 685;  /* *tbm_blcic_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8194: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)])
    goto L8195;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8195: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8196;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8196: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8197;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8197: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12145 "../../gcc/config/i386/i386.md"
(TARGET_BMI2)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 673;  /* bmi2_bzhi_si3 */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8125: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L8126;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8126: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8127;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8127: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT)
    goto L29007;
  x1 = XEXP (x0, 0);
  goto L28508;

 L29007: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case -1L:
        goto L8128;
      case 1L:
        goto L8398;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8128: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 12120 "../../gcc/config/i386/i386.md"
(TARGET_BMI)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 669;  /* *bmi_blsmsk_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8398: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 12238 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 687;  /* *tbm_blcmsk_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8253;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L8254;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8254: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L8255;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8255: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12181 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 679;  /* tbm_bextri_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8320: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L29009;
  x1 = XEXP (x0, 0);
  goto L28508;

 L29009: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case NOT:
      goto L8321;
    case PLUS:
      goto L8430;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8321: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L8322;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8322: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8323;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8323: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L8324;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8324: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 12211 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 683;  /* *tbm_blci_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8430: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8431;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8431: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT)
    goto L29011;
  x1 = XEXP (x0, 0);
  goto L28508;

 L29011: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L8432;
      case -1L:
        goto L8466;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 12251 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 689;  /* *tbm_blcs_si */
    }
 L8539: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == NOT)
    goto L8540;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8540: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 12292 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 695;  /* *tbm_t1mskc_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8466: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 12264 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 691;  /* *tbm_blsfill_si */
    }
 L8501: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == NOT)
    goto L8502;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8502: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 12278 "../../gcc/config/i386/i386.md"
(TARGET_TBM)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 693;  /* *tbm_blsic_si */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8626: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (31)])
    goto L8627;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8627: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == CLZ)
    goto L8628;
  x1 = XEXP (x0, 0);
  goto L28508;

 L8628: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8629;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8629: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 700;  /* bsr */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8668: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8669;
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8669: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12349 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 703;  /* popcountsi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28508;

 L8729: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L29013;
  x1 = XEXP (x0, 0);
  goto L28510;

 L29013: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case BSWAP:
      goto L8730;
    case UNSPEC:
      goto L29016;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28510;

 L8730: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8731;
    }
  x1 = XEXP (x0, 0);
  goto L28510;

 L8731: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12420 "../../gcc/config/i386/i386.md"
(TARGET_MOVBE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 709;  /* *bswapsi2_movbe */
    }
  x1 = XEXP (x0, 0);
  goto L28510;

 L29016: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L29018;
  x1 = XEXP (x0, 0);
  goto L28510;

 L29018: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 62L:
      goto L9817;
    case 63L:
      goto L9967;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28510;

 L9817: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9818;
    }
  x1 = XEXP (x0, 0);
  goto L28510;

 L9818: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 824;  /* *fistsi2_floor_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28510;

 L9967: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9968;
    }
  x1 = XEXP (x0, 0);
  goto L28510;

 L9968: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 835;  /* *fistsi2_ceil_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28510;

 L8739: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L29020;
  x1 = XEXP (x0, 0);
  goto L28518;

 L29020: ATTRIBUTE_UNUSED_LABEL
  tem = recog_9 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28518;

 L9754: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 54)
    goto L9755;
  goto ret0;

 L9755: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9756;
    }
  goto ret0;

 L9756: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14765 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 818;  /* fistsi2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_11 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L7873;
    }
 L28509: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L8734;
    }
 L28511: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L8744;
    }
 L28516: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L9716;
    }
  goto ret0;

 L7873: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L29078;
  x1 = XEXP (x0, 0);
  goto L28509;

 L29078: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L29092;
    case CTZ:
      goto L7984;
    case CLZ:
      goto L8020;
    case AND:
      goto L8050;
    case XOR:
      goto L8142;
    case ZERO_EXTRACT:
      goto L8268;
    case IOR:
      goto L8339;
    case MINUS:
      goto L8610;
    case POPCOUNT:
      goto L8680;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28509;

 L29092: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29098;
    case 2:
      goto L29101;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L29098: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 13L:
      goto L7874;
    case 14L:
      goto L7878;
    case 15L:
      goto L7884;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L7874: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11830 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 647;  /* set_got_rex64 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L7878: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7879;
  x1 = XEXP (x0, 0);
  goto L28509;

 L7879: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  goto L7880;

 L7880: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11839 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 648;  /* set_rip_rex64 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L7884: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7885;
  x1 = XEXP (x0, 0);
  goto L28509;

 L7885: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  goto L7886;

 L7886: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11850 "../../gcc/config/i386/i386.md"
(TARGET_LP64))
    {
      return 649;  /* set_got_offset_rex64 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L29101: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 82L:
      goto L8079;
    case 83L:
      goto L8225;
    case 84L:
      goto L8237;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8079: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8080;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8080: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L8081;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8081: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12095 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 666;  /* bmi_bextr_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8225: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8226;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8226: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L8227;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8227: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12156 "../../gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 676;  /* bmi2_pdep_di3 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8237: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8238;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8238: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L8239;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8239: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12167 "../../gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 678;  /* bmi2_pext_di3 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L7984: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L7985;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L7985: ATTRIBUTE_UNUSED_LABEL
  if (
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 659;  /* ctzdi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8020: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8021;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8021: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12070 "../../gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 662;  /* clzdi2_lzcnt */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8050: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L29104;
  x1 = XEXP (x0, 0);
  goto L28509;

 L29104: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case NOT:
      goto L8051;
    case NEG:
      goto L8110;
    case PLUS:
      goto L8177;
    case LSHIFTRT:
      goto L8212;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8051: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8052;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8052: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L8053;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8053: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12084 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 664;  /* *bmi_andn_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8110: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8111;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8111: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 12107 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 668;  /* *bmi_blsi_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8177: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8178;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8178: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT)
    goto L29108;
  x1 = XEXP (x0, 0);
  goto L28509;

 L29108: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case -1L:
        goto L8179;
      case 1L:
        goto L8305;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8179: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 12133 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 672;  /* *bmi_blsr_di */
    }
 L8596: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NOT)
    goto L8597;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8597: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && (
#line 12306 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 698;  /* *tbm_tzmsk_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 12197 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 682;  /* *tbm_blcfill_di */
    }
 L8380: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NOT)
    goto L8381;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8381: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && (
#line 12225 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 686;  /* *tbm_blcic_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8212: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)])
    goto L8213;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8213: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L8214;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8214: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8215;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8215: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12145 "../../gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 674;  /* bmi2_bzhi_di3 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8142: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L8143;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8143: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8144;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8144: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT)
    goto L29110;
  x1 = XEXP (x0, 0);
  goto L28509;

 L29110: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case -1L:
        goto L8145;
      case 1L:
        goto L8415;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8145: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 12120 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 670;  /* *bmi_blsmsk_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8415: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 12238 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 688;  /* *tbm_blcmsk_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8268: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8269;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8269: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_255_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L8270;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8270: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_255_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L8271;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8271: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12181 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 680;  /* tbm_bextri_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8339: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L29112;
  x1 = XEXP (x0, 0);
  goto L28509;

 L29112: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case NOT:
      goto L8340;
    case PLUS:
      goto L8447;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8340: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == PLUS)
    goto L8341;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8341: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8342;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8342: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L8343;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8343: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 12211 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 684;  /* *tbm_blci_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8447: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8448;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8448: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT)
    goto L29114;
  x1 = XEXP (x0, 0);
  goto L28509;

 L29114: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L8449;
      case -1L:
        goto L8483;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8449: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 12251 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 690;  /* *tbm_blcs_di */
    }
 L8558: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NOT)
    goto L8559;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8559: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && (
#line 12292 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 696;  /* *tbm_t1mskc_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8483: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 12264 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 692;  /* *tbm_blsfill_di */
    }
 L8520: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NOT)
    goto L8521;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8521: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && (
#line 12278 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 694;  /* *tbm_blsic_di */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8610: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (63)])
    goto L8611;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == CLZ)
    goto L8612;
  x1 = XEXP (x0, 0);
  goto L28509;

 L8612: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8613;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8613: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12316 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 699;  /* bsr_rex64 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8680: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8681;
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8681: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12349 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 704;  /* popcountdi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28509;

 L8734: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L29116;
  x1 = XEXP (x0, 0);
  goto L28511;

 L29116: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case BSWAP:
      goto L8735;
    case UNSPEC:
      goto L29120;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28511;

 L8735: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8736;
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L8736: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12420 "../../gcc/config/i386/i386.md"
(TARGET_MOVBE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 710;  /* *bswapdi2_movbe */
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L29120: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L29123;
  x1 = XEXP (x0, 0);
  goto L28511;

 L29123: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 54L:
      goto L9704;
    case 62L:
      goto L9829;
    case 63L:
      goto L9979;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L9704: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9705;
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L9705: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14682 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
    {
      return 812;  /* *fistdi2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L9829: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9830;
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L9830: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 825;  /* *fistdi2_floor_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L9979: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9980;
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L9980: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 836;  /* *fistdi2_ceil_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28511;

 L8744: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L29126;
  x1 = XEXP (x0, 0);
  goto L28516;

 L29126: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case BSWAP:
      goto L8745;
    case ZERO_EXTEND:
      goto L8908;
    case UNSPEC:
      goto L29143;
    case PLUS:
      goto L8980;
    case IF_THEN_ELSE:
      goto L10722;
    case SIGN_EXTRACT:
      goto L10760;
    case NEG:
      goto L10792;
    case UNSPEC_VOLATILE:
      goto L29146;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28516;

 L8745: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8746;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L8746: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12435 "../../gcc/config/i386/i386.md"
(TARGET_BSWAP) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 712;  /* *bswapdi2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L8908: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L29154;
  x1 = XEXP (x0, 0);
  goto L28516;

 L29154: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      goto L29156;
    case PLUS:
      goto L8948;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29156: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 18)
    goto L8909;
  x1 = XEXP (x0, 0);
  goto L28516;

 L8909: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 12751 "../../gcc/config/i386/i386.md"
(TARGET_X32))
    {
      return 724;  /* *load_tp_x32_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L8948: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 1
      && XINT (x3, 1) == 18)
    goto L8949;
  x1 = XEXP (x0, 0);
  goto L28516;

 L8949: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8950;
  x1 = XEXP (x0, 0);
  goto L28516;

 L8950: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8951;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L8951: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12789 "../../gcc/config/i386/i386.md"
(TARGET_X32)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 728;  /* *add_tp_x32_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29143: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29157;
    case 3:
      goto L29159;
    case 2:
      goto L29160;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29157: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 18L:
      goto L8917;
    case 21L:
      goto L9038;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L8917: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 12762 "../../gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 726;  /* *load_tp_di */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L9038: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (tls_symbolic_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L9039;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L9039: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12914 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS))
    {
      return 734;  /* *tls_dynamic_gnu2_lea_64 */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29159: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 21)
    goto L9052;
  x1 = XEXP (x0, 0);
  goto L28516;

 L9052: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (tls_symbolic_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L9053;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L9053: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L9054;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L9054: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7
      && 
#line 12928 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 735;  /* *tls_dynamic_gnu2_call_64 */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29160: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 81)
    goto L11220;
  x1 = XEXP (x0, 0);
  goto L28516;

 L11220: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L11221;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11221: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L11222;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11222: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17877 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_SSE4_2 || TARGET_CRC32)))
    {
      return 932;  /* sse4_2_crc32di */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L8980: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L29161;
  x1 = XEXP (x0, 0);
  goto L28516;

 L29161: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L29163;
  x1 = XEXP (x0, 0);
  goto L28516;

 L29163: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L29165;
    case 3:
      goto L29166;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29165: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 18)
    goto L8981;
  x1 = XEXP (x0, 0);
  goto L28516;

 L8981: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8982;
  x1 = XEXP (x0, 0);
  goto L28516;

 L8982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L8983;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L8983: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12802 "../../gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 730;  /* *add_tp_di */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29166: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 21)
    goto L9072;
  x1 = XEXP (x0, 0);
  goto L28516;

 L9072: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (tls_modbase_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L9073;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L9073: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  operands[3] = x3;
  goto L9074;

 L9074: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L9075;
  x1 = XEXP (x0, 0);
  goto L28516;

 L9075: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == CONST)
    goto L9076;
  x1 = XEXP (x0, 0);
  goto L28516;

 L9076: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 1
      && XINT (x3, 1) == 6)
    goto L9077;
  x1 = XEXP (x0, 0);
  goto L28516;

 L9077: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (tls_symbolic_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L9078;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L9078: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12945 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 736;  /* *tls_dynamic_gnu2_combine_64 */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10722: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_carry_flag_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10723;
    }
 L10816: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10817;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10723: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10724;
  goto L10816;

 L10724: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10725;
  goto L10816;

 L10725: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)])
    goto L10726;
  x2 = XEXP (x1, 0);
  goto L10816;

 L10726: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 885;  /* *x86_movdicc_0_m1 */
    }
  x2 = XEXP (x1, 0);
  goto L10816;

 L10817: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10818;
  x1 = XEXP (x0, 0);
  goto L28516;

 L10818: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10819;
  x1 = XEXP (x0, 0);
  goto L28516;

 L10819: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L10820;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10820: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L10821;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10821: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16405 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 892;  /* *movdicc_noc */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10760: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_carry_flag_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10761;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10761: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10762;
  x1 = XEXP (x0, 0);
  goto L28516;

 L10762: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10763;
  x1 = XEXP (x0, 0);
  goto L28516;

 L10763: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L10764;
  x1 = XEXP (x0, 0);
  goto L28516;

 L10764: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 887;  /* *x86_movdicc_0_m1_se */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10792: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_carry_flag_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10793;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10793: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10794;
  x1 = XEXP (x0, 0);
  goto L28516;

 L10794: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 889;  /* *x86_movdicc_0_m1_neg */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29146: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29167;
    case 2:
      goto L29168;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29167: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 1L:
      goto L10995;
    case 10L:
      goto L11226;
    case 8L:
      goto L11240;
    case 12L:
      goto L11285;
    case 15L:
      goto L11317;
    case 16L:
      goto L11325;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10995: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10996;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L10996: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16709 "../../gcc/config/i386/i386.md"
(ix86_target_stack_probe ()) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 913;  /* allocate_stack_worker_probe_di */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11226: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L11227;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11227: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17924 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 933;  /* *rdpmc */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11240: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17969 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 935;  /* *rdtsc */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11285: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 18085 "../../gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 942;  /* lwp_slwpcbdi */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11317: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 18138 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 948;  /* rdfsbasedi */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11325: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 18146 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 950;  /* rdgsbasedi */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L29168: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 2)
    goto L11052;
  x1 = XEXP (x0, 0);
  goto L28516;

 L11052: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L11053;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11053: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L11054;
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L11054: ATTRIBUTE_UNUSED_LABEL
  if (
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 917;  /* probe_stack_rangedi */
    }
  x1 = XEXP (x0, 0);
  goto L28516;

 L9716: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 54)
    goto L9717;
  goto ret0;

 L9717: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9718;
    }
  goto ret0;

 L9718: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14706 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 813;  /* fistdi2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_12 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case SQRT:
      goto L9331;
    case UNSPEC:
      goto L29280;
    case IF_THEN_ELSE:
      goto L10834;
    case PLUS:
    case MINUS:
    case MULT:
    case DIV:
      goto L29266;
    default:
      goto ret0;
   }
 L29266: ATTRIBUTE_UNUSED_LABEL
  if (binary_fp_operator (x1, XFmode))
    {
      operands[3] = x1;
      goto L9237;
    }
  goto ret0;

 L9331: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == XFmode)
    goto L29292;
  goto ret0;

 L29292: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L9337;
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9332;
    }
  goto ret0;

 L9337: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L29293;
    case DFmode:
      goto L29294;
    default:
      break;
    }
  goto ret0;

 L29293: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9338;
    }
  goto ret0;

 L9338: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13384 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 776;  /* sqrt_extendsfxf2_i387 */
    }
  goto ret0;

 L29294: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L9344;
    }
  goto ret0;

 L9344: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13384 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 777;  /* sqrt_extenddfxf2_i387 */
    }
  goto ret0;

 L9332: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13371 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 775;  /* sqrtxf2 */
    }
  goto ret0;

 L29280: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29295;
    case 2:
      goto L29297;
    default:
      break;
    }
  goto ret0;

 L29295: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 48L:
      goto L9395;
    case 49L:
      goto L9412;
    case 55L:
      goto L9671;
    case 53L:
      goto L9699;
    case 58L:
      goto L9783;
    case 59L:
      goto L9933;
    case 60L:
      goto L10083;
    case 61L:
      goto L10105;
    default:
      break;
    }
  goto ret0;

 L9395: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == XFmode)
    goto L29307;
  goto ret0;

 L29307: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L9401;
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9396;
    }
  goto ret0;

 L9401: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L29308;
    case DFmode:
      goto L29309;
    default:
      break;
    }
  goto ret0;

 L29308: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9402;
    }
  goto ret0;

 L9402: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13613 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 784;  /* *sin_extendsfxf2_i387 */
    }
  goto ret0;

 L29309: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L9408;
    }
  goto ret0;

 L9408: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13613 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 785;  /* *sin_extenddfxf2_i387 */
    }
  goto ret0;

 L9396: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13602 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 783;  /* *sinxf2_i387 */
    }
  goto ret0;

 L9412: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == XFmode)
    goto L29311;
  goto ret0;

 L29311: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L9418;
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9413;
    }
  goto ret0;

 L9418: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L29312;
    case DFmode:
      goto L29313;
    default:
      break;
    }
  goto ret0;

 L29312: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9419;
    }
  goto ret0;

 L9419: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13635 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 787;  /* *cos_extendsfxf2_i387 */
    }
  goto ret0;

 L29313: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L9425;
    }
  goto ret0;

 L9425: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13635 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 788;  /* *cos_extenddfxf2_i387 */
    }
  goto ret0;

 L9413: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13624 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 786;  /* *cosxf2_i387 */
    }
  goto ret0;

 L9671: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9672;
    }
  goto ret0;

 L9672: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14247 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 807;  /* *f2xm1xf2_i387 */
    }
  goto ret0;

 L9699: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9700;
    }
  goto ret0;

 L9700: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14604 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 811;  /* rintxf2 */
    }
  goto ret0;

 L9783: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9784;
    }
  goto ret0;

 L9784: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14841 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 821;  /* frndintxf2_floor */
    }
  goto ret0;

 L9933: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9934;
    }
  goto ret0;

 L9934: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15099 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 832;  /* frndintxf2_ceil */
    }
  goto ret0;

 L10083: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L10084;
    }
  goto ret0;

 L10084: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15355 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 843;  /* frndintxf2_trunc */
    }
  goto ret0;

 L10105: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L10106;
    }
  goto ret0;

 L10106: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15446 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 845;  /* frndintxf2_mask_pm */
    }
  goto ret0;

 L29297: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 50L:
      goto L9498;
    case 51L:
      goto L9551;
    case 52L:
      goto L9600;
    default:
      break;
    }
  goto ret0;

 L9498: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == XFmode)
    goto L29315;
  goto ret0;

 L29315: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L9516;
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9499;
    }
  goto ret0;

 L9516: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L29316;
    case DFmode:
      goto L29317;
    default:
      break;
    }
  goto ret0;

 L29316: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9517;
    }
  goto ret0;

 L9517: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == FLOAT_EXTEND)
    goto L9518;
  goto ret0;

 L9518: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L9519;
    }
  goto ret0;

 L9519: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13819 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 796;  /* fpatan_extendsfxf3_i387 */
    }
  goto ret0;

 L29317: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L9536;
    }
  goto ret0;

 L9536: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == FLOAT_EXTEND)
    goto L9537;
  goto ret0;

 L9537: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DFmode))
    {
      operands[2] = x3;
      goto L9538;
    }
  goto ret0;

 L9538: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13819 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 797;  /* fpatan_extenddfxf3_i387 */
    }
  goto ret0;

 L9499: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9500;
    }
  goto ret0;

 L9500: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13805 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 795;  /* *fpatanxf3_i387 */
    }
  goto ret0;

 L9551: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == XFmode)
    goto L29319;
  goto ret0;

 L29319: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L9568;
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9552;
    }
  goto ret0;

 L9568: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L29320;
    case DFmode:
      goto L29321;
    default:
      break;
    }
  goto ret0;

 L29320: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9569;
    }
  goto ret0;

 L9569: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9570;
    }
  goto ret0;

 L9570: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13990 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 799;  /* fyl2x_extendsfxf3_i387 */
    }
  goto ret0;

 L29321: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L9586;
    }
  goto ret0;

 L9586: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9587;
    }
  goto ret0;

 L9587: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13990 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 800;  /* fyl2x_extenddfxf3_i387 */
    }
  goto ret0;

 L9552: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9553;
    }
  goto ret0;

 L9553: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13977 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 798;  /* fyl2xxf3_i387 */
    }
  goto ret0;

 L9600: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == XFmode)
    goto L29323;
  goto ret0;

 L29323: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L9617;
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9601;
    }
  goto ret0;

 L9617: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L29324;
    case DFmode:
      goto L29325;
    default:
      break;
    }
  goto ret0;

 L29324: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9618;
    }
  goto ret0;

 L9618: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9619;
    }
  goto ret0;

 L9619: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14107 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 802;  /* fyl2xp1_extendsfxf3_i387 */
    }
  goto ret0;

 L29325: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L9635;
    }
  goto ret0;

 L9635: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9636;
    }
  goto ret0;

 L9636: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14107 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 803;  /* fyl2xp1_extenddfxf3_i387 */
    }
  goto ret0;

 L9601: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9602;
    }
  goto ret0;

 L9602: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14094 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 801;  /* fyl2xp1xf3_i387 */
    }
  goto ret0;

 L10834: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (fcmov_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10835;
    }
  goto ret0;

 L10835: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10836;
  goto ret0;

 L10836: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10837;
  goto ret0;

 L10837: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L10838;
    }
  goto ret0;

 L10838: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (register_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L10839;
    }
  goto ret0;

 L10839: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16457 "../../gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_CMOVE))
    {
      return 894;  /* *movxfcc_1 */
    }
  goto ret0;

 L9237: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == XFmode)
    goto L29327;
  goto ret0;

 L29327: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT:
      goto L9250;
    case FLOAT_EXTEND:
      goto L9278;
    case REG:
    case SUBREG:
      goto L29326;
    default:
      goto ret0;
   }
 L29326: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9238;
    }
  goto ret0;

 L9250: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L29329;
    case SImode:
      goto L29330;
    default:
      break;
    }
  goto ret0;

 L29329: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L9251;
    }
  goto ret0;

 L9251: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9252;
    }
  goto ret0;

 L9252: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13230 "../../gcc/config/i386/i386.md"
(TARGET_80387 && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 763;  /* *fop_xf_2_i387 */
    }
  goto ret0;

 L29330: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L9258;
    }
  goto ret0;

 L9258: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9259;
    }
  goto ret0;

 L9259: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13230 "../../gcc/config/i386/i386.md"
(TARGET_80387 && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 764;  /* *fop_xf_2_i387 */
    }
  goto ret0;

 L9278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L29331;
    case DFmode:
      goto L29332;
    default:
      break;
    }
  goto ret0;

 L29331: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9279;
    }
 L29333: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9307;
    }
  goto ret0;

 L9279: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9280;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L29333;

 L9280: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13266 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 767;  /* *fop_xf_4_i387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L29333;

 L9307: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == FLOAT_EXTEND)
    goto L9308;
  goto ret0;

 L9308: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L9309;
    }
  goto ret0;

 L9309: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13301 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 771;  /* *fop_xf_6_i387 */
    }
  goto ret0;

 L29332: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L9286;
    }
 L29334: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L9315;
    }
  goto ret0;

 L9286: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9287;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L29334;

 L9287: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13266 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 768;  /* *fop_xf_4_i387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L29334;

 L9315: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == FLOAT_EXTEND)
    goto L9316;
  goto ret0;

 L9316: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[2] = x3;
      goto L9317;
    }
  goto ret0;

 L9317: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13301 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 772;  /* *fop_xf_6_i387 */
    }
  goto ret0;

 L9238: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode)
    goto L29336;
  goto ret0;

 L29336: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT:
      goto L9265;
    case FLOAT_EXTEND:
      goto L9293;
    case REG:
    case SUBREG:
      goto L29335;
    default:
      goto ret0;
   }
 L29335: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9239;
    }
  goto ret0;

 L9265: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L29338;
    case SImode:
      goto L29339;
    default:
      break;
    }
  goto ret0;

 L29338: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L9266;
    }
  goto ret0;

 L9266: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13248 "../../gcc/config/i386/i386.md"
(TARGET_80387 && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 765;  /* *fop_xf_3_i387 */
    }
  goto ret0;

 L29339: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L9273;
    }
  goto ret0;

 L9273: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13248 "../../gcc/config/i386/i386.md"
(TARGET_80387 && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 766;  /* *fop_xf_3_i387 */
    }
  goto ret0;

 L9293: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L29340;
    case DFmode:
      goto L29341;
    default:
      break;
    }
  goto ret0;

 L29340: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L9294;
    }
  goto ret0;

 L9294: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13283 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 769;  /* *fop_xf_5_i387 */
    }
  goto ret0;

 L29341: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[2] = x3;
      goto L9301;
    }
  goto ret0;

 L9301: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13283 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 770;  /* *fop_xf_5_i387 */
    }
  goto ret0;

 L9239: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13198 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && COMMUTATIVE_ARITH_P (operands[3])))
    {
      return 761;  /* *fop_xf_comm_i387 */
    }
 L9245: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13212 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && !COMMUTATIVE_ARITH_P (operands[3])))
    {
      return 762;  /* *fop_xf_1_i387 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_13 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L11611;
    case MINUS:
      goto L11617;
    case SS_PLUS:
      goto L11659;
    case US_PLUS:
      goto L11665;
    case SS_MINUS:
      goto L11671;
    case US_MINUS:
      goto L11677;
    case UMAX:
      goto L11803;
    case UMIN:
      goto L11809;
    case EQ:
      goto L11863;
    case GT:
      goto L11881;
    case AND:
      goto L11899;
    case IOR:
      goto L11926;
    case XOR:
      goto L11932;
    case VEC_CONCAT:
      goto L11974;
    case VEC_SELECT:
      goto L11998;
    case TRUNCATE:
      goto L12130;
    case UNSPEC:
      goto L29375;
    case ABS:
      goto L18431;
    default:
     break;
   }
  goto ret0;

 L11611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11612;
    }
  goto ret0;

 L11612: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11613;
    }
  goto ret0;

 L11613: ATTRIBUTE_UNUSED_LABEL
  if (
#line 794 "../../gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V8QImode == V1DImode))
   && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
    {
      return 997;  /* *mmx_addv8qi3 */
    }
  goto ret0;

 L11617: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11618;
    }
  goto ret0;

 L11618: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11619;
    }
  goto ret0;

 L11619: ATTRIBUTE_UNUSED_LABEL
  if (
#line 794 "../../gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V8QImode == V1DImode))
   && ix86_binary_operator_ok (MINUS, V8QImode, operands)))
    {
      return 998;  /* *mmx_subv8qi3 */
    }
  goto ret0;

 L11659: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11660;
    }
  goto ret0;

 L11660: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11661;
    }
  goto ret0;

 L11661: ATTRIBUTE_UNUSED_LABEL
  if (
#line 813 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (SS_PLUS, V8QImode, operands)))
    {
      return 1005;  /* *mmx_ssaddv8qi3 */
    }
  goto ret0;

 L11665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11666;
    }
  goto ret0;

 L11666: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11667;
    }
  goto ret0;

 L11667: ATTRIBUTE_UNUSED_LABEL
  if (
#line 813 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (US_PLUS, V8QImode, operands)))
    {
      return 1006;  /* *mmx_usaddv8qi3 */
    }
  goto ret0;

 L11671: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11672;
    }
  goto ret0;

 L11672: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11673;
    }
  goto ret0;

 L11673: ATTRIBUTE_UNUSED_LABEL
  if (
#line 813 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (SS_MINUS, V8QImode, operands)))
    {
      return 1007;  /* *mmx_sssubv8qi3 */
    }
  goto ret0;

 L11677: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11678;
    }
  goto ret0;

 L11678: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11679;
    }
  goto ret0;

 L11679: ATTRIBUTE_UNUSED_LABEL
  if (
#line 813 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (US_MINUS, V8QImode, operands)))
    {
      return 1008;  /* *mmx_ussubv8qi3 */
    }
  goto ret0;

 L11803: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11804;
    }
  goto ret0;

 L11804: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11805;
    }
  goto ret0;

 L11805: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1034 "../../gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (UMAX, V8QImode, operands)))
    {
      return 1021;  /* *mmx_umaxv8qi3 */
    }
  goto ret0;

 L11809: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11810;
    }
  goto ret0;

 L11810: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11811;
    }
  goto ret0;

 L11811: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1034 "../../gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (UMIN, V8QImode, operands)))
    {
      return 1022;  /* *mmx_uminv8qi3 */
    }
  goto ret0;

 L11863: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11864;
    }
  goto ret0;

 L11864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11865;
    }
  goto ret0;

 L11865: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1087 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (EQ, V8QImode, operands)))
    {
      return 1031;  /* *mmx_eqv8qi3 */
    }
  goto ret0;

 L11881: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11882;
    }
  goto ret0;

 L11882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11883;
    }
  goto ret0;

 L11883: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1097 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1034;  /* mmx_gtv8qi3 */
    }
  goto ret0;

 L11899: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8QImode)
    goto L29377;
  goto ret0;

 L29377: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L11900;
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11921;
    }
  goto ret0;

 L11900: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8QImode))
    {
      operands[1] = x3;
      goto L11901;
    }
  goto ret0;

 L11901: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11902;
    }
  goto ret0;

 L11902: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1113 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1037;  /* mmx_andnotv8qi3 */
    }
  goto ret0;

 L11921: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11922;
    }
  goto ret0;

 L11922: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (AND, V8QImode, operands)))
    {
      return 1040;  /* *mmx_andv8qi3 */
    }
  goto ret0;

 L11926: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11927;
    }
  goto ret0;

 L11927: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11928;
    }
  goto ret0;

 L11928: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (IOR, V8QImode, operands)))
    {
      return 1041;  /* *mmx_iorv8qi3 */
    }
  goto ret0;

 L11932: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L11933;
    }
  goto ret0;

 L11933: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L11934;
    }
  goto ret0;

 L11934: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (XOR, V8QImode, operands)))
    {
      return 1042;  /* *mmx_xorv8qi3 */
    }
  goto ret0;

 L11974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4QImode)
    goto L29379;
  goto ret0;

 L29379: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SS_TRUNCATE:
      goto L11975;
    case US_TRUNCATE:
      goto L11991;
    default:
     break;
   }
  goto ret0;

 L11975: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4HImode))
    {
      operands[1] = x3;
      goto L11976;
    }
  goto ret0;

 L11976: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4QImode
      && GET_CODE (x2) == SS_TRUNCATE)
    goto L11977;
  goto ret0;

 L11977: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4HImode))
    {
      operands[2] = x3;
      goto L11978;
    }
  goto ret0;

 L11978: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1149 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1049;  /* mmx_packsswb */
    }
  goto ret0;

 L11991: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4HImode))
    {
      operands[1] = x3;
      goto L11992;
    }
  goto ret0;

 L11992: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4QImode
      && GET_CODE (x2) == US_TRUNCATE)
    goto L11993;
  goto ret0;

 L11993: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4HImode))
    {
      operands[2] = x3;
      goto L11994;
    }
  goto ret0;

 L11994: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1173 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1051;  /* mmx_packuswb */
    }
  goto ret0;

 L11998: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L11999;
  goto ret0;

 L11999: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8QImode))
    {
      operands[1] = x3;
      goto L12000;
    }
  goto ret0;

 L12000: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8QImode))
    {
      operands[2] = x3;
      goto L12001;
    }
  goto ret0;

 L12001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L12002;
  goto ret0;

 L12002: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29381;
  goto ret0;

 L29381: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 4L:
        goto L12003;
      case 0L:
        goto L12018;
      default:
        break;
      }
  goto ret0;

 L12003: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L12004;
  goto ret0;

 L12004: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L12005;
  goto ret0;

 L12005: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L12006;
  goto ret0;

 L12006: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L12007;
  goto ret0;

 L12007: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L12008;
  goto ret0;

 L12008: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L12009;
  goto ret0;

 L12009: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 1188 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1052;  /* mmx_punpckhbw */
    }
  goto ret0;

 L12018: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L12019;
  goto ret0;

 L12019: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12020;
  goto ret0;

 L12020: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L12021;
  goto ret0;

 L12021: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L12022;
  goto ret0;

 L12022: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L12023;
  goto ret0;

 L12023: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L12024;
  goto ret0;

 L12024: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)]
      && 
#line 1203 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1053;  /* mmx_punpcklbw */
    }
  goto ret0;

 L12130: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L12131;
  goto ret0;

 L12131: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8HImode
      && GET_CODE (x3) == PLUS)
    goto L12132;
  goto ret0;

 L12132: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8HImode
      && GET_CODE (x4) == PLUS)
    goto L12133;
  goto ret0;

 L12133: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V8HImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L12134;
  goto ret0;

 L12134: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8QImode))
    {
      operands[1] = x6;
      goto L12135;
    }
  goto ret0;

 L12135: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == V8HImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L12136;
  goto ret0;

 L12136: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8QImode))
    {
      operands[2] = x6;
      goto L12137;
    }
  goto ret0;

 L12137: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V8HImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 8)
    goto L12138;
  goto ret0;

 L12138: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12139;
  goto ret0;

 L12139: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12140;
  goto ret0;

 L12140: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12141;
  goto ret0;

 L12141: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12142;
  goto ret0;

 L12142: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12143;
  goto ret0;

 L12143: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12144;
  goto ret0;

 L12144: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12145;
  goto ret0;

 L12145: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12146;
  goto ret0;

 L12146: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1577 "../../gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW)
   && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
    {
      return 1067;  /* *mmx_uavgv8qi3 */
    }
  goto ret0;

 L29375: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2)
    goto L29383;
  goto ret0;

 L29383: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 95L:
      goto L18320;
    case 96L:
      goto L18362;
    default:
      break;
    }
  goto ret0;

 L18320: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L18321;
    }
  goto ret0;

 L18321: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L18322;
    }
  goto ret0;

 L18322: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9262 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1637;  /* ssse3_pshufbv8qi3 */
    }
  goto ret0;

 L18362: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L18363;
    }
  goto ret0;

 L18363: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L18364;
    }
  goto ret0;

 L18364: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9292 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1644;  /* ssse3_psignv8qi3 */
    }
  goto ret0;

 L18431: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L18432;
    }
  goto ret0;

 L18432: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9362 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1656;  /* absv8qi2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_14 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L16889;
    case SS_PLUS:
      goto L17315;
    case MINUS:
      goto L17598;
    case SS_MINUS:
      goto L18024;
    default:
     break;
   }
  goto ret0;

 L16889: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L16890;
  goto ret0;

 L16890: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4HImode))
    {
      operands[1] = x5;
      goto L16891;
    }
  goto ret0;

 L16891: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L16892;
  goto ret0;

 L16892: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L16893;
  goto ret0;

 L16893: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L16894;
  goto ret0;

 L16894: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L16895;
  goto ret0;

 L16895: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L16896;
  goto ret0;

 L16896: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16897;
  goto ret0;

 L16897: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == PLUS)
    goto L16898;
  goto ret0;

 L16898: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L16899;
  goto ret0;

 L16899: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L16900;
  goto ret0;

 L16900: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L16901;
  goto ret0;

 L16901: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16902;
  goto ret0;

 L16902: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L16903;
  goto ret0;

 L16903: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L16904;
  goto ret0;

 L16904: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L16905;
  goto ret0;

 L16905: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16906;
  goto ret0;

 L16906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L16907;
  goto ret0;

 L16907: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == PLUS)
    goto L16908;
  goto ret0;

 L16908: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L16909;
  goto ret0;

 L16909: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[2] = x5;
      goto L16910;
    }
  goto ret0;

 L16910: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L16911;
  goto ret0;

 L16911: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L16912;
  goto ret0;

 L16912: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L16913;
  goto ret0;

 L16913: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L16914;
  goto ret0;

 L16914: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L16915;
  goto ret0;

 L16915: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16916;
  goto ret0;

 L16916: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == PLUS)
    goto L16917;
  goto ret0;

 L16917: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L16918;
  goto ret0;

 L16918: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L16919;
  goto ret0;

 L16919: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L16920;
  goto ret0;

 L16920: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16921;
  goto ret0;

 L16921: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L16922;
  goto ret0;

 L16922: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L16923;
  goto ret0;

 L16923: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L16924;
  goto ret0;

 L16924: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 8250 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1613;  /* ssse3_phaddwv4hi3 */
    }
  goto ret0;

 L17315: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17316;
  goto ret0;

 L17316: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4HImode))
    {
      operands[1] = x5;
      goto L17317;
    }
  goto ret0;

 L17317: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17318;
  goto ret0;

 L17318: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17319;
  goto ret0;

 L17319: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17320;
  goto ret0;

 L17320: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17321;
  goto ret0;

 L17321: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17322;
  goto ret0;

 L17322: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17323;
  goto ret0;

 L17323: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == SS_PLUS)
    goto L17324;
  goto ret0;

 L17324: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17325;
  goto ret0;

 L17325: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17326;
  goto ret0;

 L17326: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17327;
  goto ret0;

 L17327: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17328;
  goto ret0;

 L17328: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17329;
  goto ret0;

 L17329: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17330;
  goto ret0;

 L17330: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17331;
  goto ret0;

 L17331: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17332;
  goto ret0;

 L17332: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17333;
  goto ret0;

 L17333: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == SS_PLUS)
    goto L17334;
  goto ret0;

 L17334: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17335;
  goto ret0;

 L17335: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[2] = x5;
      goto L17336;
    }
  goto ret0;

 L17336: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17337;
  goto ret0;

 L17337: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17338;
  goto ret0;

 L17338: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17339;
  goto ret0;

 L17339: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17340;
  goto ret0;

 L17340: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17341;
  goto ret0;

 L17341: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17342;
  goto ret0;

 L17342: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == SS_PLUS)
    goto L17343;
  goto ret0;

 L17343: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17344;
  goto ret0;

 L17344: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17345;
  goto ret0;

 L17345: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17346;
  goto ret0;

 L17346: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17347;
  goto ret0;

 L17347: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17348;
  goto ret0;

 L17348: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17349;
  goto ret0;

 L17349: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17350;
  goto ret0;

 L17350: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 8502 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1619;  /* ssse3_phaddswv4hi3 */
    }
  goto ret0;

 L17598: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17599;
  goto ret0;

 L17599: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4HImode))
    {
      operands[1] = x5;
      goto L17600;
    }
  goto ret0;

 L17600: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17601;
  goto ret0;

 L17601: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17602;
  goto ret0;

 L17602: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17603;
  goto ret0;

 L17603: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17604;
  goto ret0;

 L17604: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17605;
  goto ret0;

 L17605: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17606;
  goto ret0;

 L17606: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == MINUS)
    goto L17607;
  goto ret0;

 L17607: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17608;
  goto ret0;

 L17608: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17609;
  goto ret0;

 L17609: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17610;
  goto ret0;

 L17610: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17611;
  goto ret0;

 L17611: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17612;
  goto ret0;

 L17612: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17613;
  goto ret0;

 L17613: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17614;
  goto ret0;

 L17614: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17615;
  goto ret0;

 L17615: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17616;
  goto ret0;

 L17616: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == MINUS)
    goto L17617;
  goto ret0;

 L17617: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17618;
  goto ret0;

 L17618: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[2] = x5;
      goto L17619;
    }
  goto ret0;

 L17619: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17620;
  goto ret0;

 L17620: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17621;
  goto ret0;

 L17621: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17622;
  goto ret0;

 L17622: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17623;
  goto ret0;

 L17623: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17624;
  goto ret0;

 L17624: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17625;
  goto ret0;

 L17625: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == MINUS)
    goto L17626;
  goto ret0;

 L17626: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17627;
  goto ret0;

 L17627: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17628;
  goto ret0;

 L17628: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17629;
  goto ret0;

 L17629: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17630;
  goto ret0;

 L17630: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17631;
  goto ret0;

 L17631: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17632;
  goto ret0;

 L17632: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17633;
  goto ret0;

 L17633: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 8656 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1622;  /* ssse3_phsubwv4hi3 */
    }
  goto ret0;

 L18024: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18025;
  goto ret0;

 L18025: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4HImode))
    {
      operands[1] = x5;
      goto L18026;
    }
  goto ret0;

 L18026: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L18027;
  goto ret0;

 L18027: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18028;
  goto ret0;

 L18028: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18029;
  goto ret0;

 L18029: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L18030;
  goto ret0;

 L18030: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L18031;
  goto ret0;

 L18031: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18032;
  goto ret0;

 L18032: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == SS_MINUS)
    goto L18033;
  goto ret0;

 L18033: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18034;
  goto ret0;

 L18034: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L18035;
  goto ret0;

 L18035: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L18036;
  goto ret0;

 L18036: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18037;
  goto ret0;

 L18037: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18038;
  goto ret0;

 L18038: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L18039;
  goto ret0;

 L18039: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L18040;
  goto ret0;

 L18040: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18041;
  goto ret0;

 L18041: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L18042;
  goto ret0;

 L18042: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == SS_MINUS)
    goto L18043;
  goto ret0;

 L18043: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18044;
  goto ret0;

 L18044: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[2] = x5;
      goto L18045;
    }
  goto ret0;

 L18045: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L18046;
  goto ret0;

 L18046: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18047;
  goto ret0;

 L18047: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18048;
  goto ret0;

 L18048: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L18049;
  goto ret0;

 L18049: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L18050;
  goto ret0;

 L18050: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18051;
  goto ret0;

 L18051: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == SS_MINUS)
    goto L18052;
  goto ret0;

 L18052: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18053;
  goto ret0;

 L18053: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L18054;
  goto ret0;

 L18054: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L18055;
  goto ret0;

 L18055: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18056;
  goto ret0;

 L18056: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18057;
  goto ret0;

 L18057: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L18058;
  goto ret0;

 L18058: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L18059;
  goto ret0;

 L18059: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 8909 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1628;  /* ssse3_phsubswv4hi3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_15 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L11623;
    case MINUS:
      goto L11629;
    case SS_PLUS:
      goto L11683;
    case US_PLUS:
      goto L11689;
    case SS_MINUS:
      goto L11695;
    case US_MINUS:
      goto L11701;
    case MULT:
      goto L11707;
    case TRUNCATE:
      goto L11713;
    case SMAX:
      goto L11791;
    case SMIN:
      goto L11797;
    case ASHIFTRT:
      goto L11815;
    case ASHIFT:
      goto L11827;
    case LSHIFTRT:
      goto L11833;
    case EQ:
      goto L11869;
    case GT:
      goto L11887;
    case AND:
      goto L11906;
    case IOR:
      goto L11944;
    case XOR:
      goto L11950;
    case VEC_CONCAT:
      goto L11982;
    case VEC_SELECT:
      goto L12028;
    case VEC_MERGE:
      goto L12068;
    case VEC_DUPLICATE:
      goto L12101;
    case UNSPEC:
      goto L29409;
    case ABS:
      goto L18436;
    default:
     break;
   }
  goto ret0;

 L11623: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11624;
    }
  goto ret0;

 L11624: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11625;
    }
  goto ret0;

 L11625: ATTRIBUTE_UNUSED_LABEL
  if (
#line 794 "../../gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V4HImode == V1DImode))
   && ix86_binary_operator_ok (PLUS, V4HImode, operands)))
    {
      return 999;  /* *mmx_addv4hi3 */
    }
  goto ret0;

 L11629: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11630;
    }
  goto ret0;

 L11630: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11631;
    }
  goto ret0;

 L11631: ATTRIBUTE_UNUSED_LABEL
  if (
#line 794 "../../gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V4HImode == V1DImode))
   && ix86_binary_operator_ok (MINUS, V4HImode, operands)))
    {
      return 1000;  /* *mmx_subv4hi3 */
    }
  goto ret0;

 L11683: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4HImode)
    goto L29411;
  goto ret0;

 L29411: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == MULT)
    goto L18202;
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11684;
    }
  goto ret0;

 L18202: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L18203;
  goto ret0;

 L18203: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18204;
  goto ret0;

 L18204: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V8QImode))
    {
      operands[1] = x5;
      goto L18205;
    }
  goto ret0;

 L18205: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L18206;
  goto ret0;

 L18206: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18207;
  goto ret0;

 L18207: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18208;
  goto ret0;

 L18208: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18209;
  goto ret0;

 L18209: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18210;
  goto ret0;

 L18210: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L18211;
  goto ret0;

 L18211: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18212;
  goto ret0;

 L18212: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8QImode))
    {
      operands[2] = x5;
      goto L18213;
    }
  goto ret0;

 L18213: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L18214;
  goto ret0;

 L18214: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18215;
  goto ret0;

 L18215: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18216;
  goto ret0;

 L18216: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18217;
  goto ret0;

 L18217: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18218;
  goto ret0;

 L18218: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4HImode
      && GET_CODE (x2) == MULT)
    goto L18219;
  goto ret0;

 L18219: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L18220;
  goto ret0;

 L18220: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18221;
  goto ret0;

 L18221: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L18222;
  goto ret0;

 L18222: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L18223;
  goto ret0;

 L18223: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18224;
  goto ret0;

 L18224: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18225;
  goto ret0;

 L18225: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18226;
  goto ret0;

 L18226: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L18227;
  goto ret0;

 L18227: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L18228;
  goto ret0;

 L18228: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18229;
  goto ret0;

 L18229: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L18230;
  goto ret0;

 L18230: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L18231;
  goto ret0;

 L18231: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18232;
  goto ret0;

 L18232: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18233;
  goto ret0;

 L18233: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18234;
  goto ret0;

 L18234: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 9093 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1631;  /* ssse3_pmaddubsw */
    }
  goto ret0;

 L11684: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11685;
    }
  goto ret0;

 L11685: ATTRIBUTE_UNUSED_LABEL
  if (
#line 813 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (SS_PLUS, V4HImode, operands)))
    {
      return 1009;  /* *mmx_ssaddv4hi3 */
    }
  goto ret0;

 L11689: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11690;
    }
  goto ret0;

 L11690: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11691;
    }
  goto ret0;

 L11691: ATTRIBUTE_UNUSED_LABEL
  if (
#line 813 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (US_PLUS, V4HImode, operands)))
    {
      return 1010;  /* *mmx_usaddv4hi3 */
    }
  goto ret0;

 L11695: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11696;
    }
  goto ret0;

 L11696: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11697;
    }
  goto ret0;

 L11697: ATTRIBUTE_UNUSED_LABEL
  if (
#line 813 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (SS_MINUS, V4HImode, operands)))
    {
      return 1011;  /* *mmx_sssubv4hi3 */
    }
  goto ret0;

 L11701: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11702;
    }
  goto ret0;

 L11702: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11703;
    }
  goto ret0;

 L11703: ATTRIBUTE_UNUSED_LABEL
  if (
#line 813 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (US_MINUS, V4HImode, operands)))
    {
      return 1012;  /* *mmx_ussubv4hi3 */
    }
  goto ret0;

 L11707: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11708;
    }
  goto ret0;

 L11708: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11709;
    }
  goto ret0;

 L11709: ATTRIBUTE_UNUSED_LABEL
  if (
#line 829 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    {
      return 1013;  /* *mmx_mulv4hi3 */
    }
  goto ret0;

 L11713: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L11714;
  goto ret0;

 L11714: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode)
    goto L29412;
  goto ret0;

 L29412: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case MULT:
      goto L11715;
    case PLUS:
      goto L11764;
    default:
     break;
   }
  goto ret0;

 L11715: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4SImode)
    goto L29414;
  goto ret0;

 L29414: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case SIGN_EXTEND:
      goto L11716;
    case ZERO_EXTEND:
      goto L11726;
    default:
     break;
   }
  goto ret0;

 L11716: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[1] = x5;
      goto L11717;
    }
  goto ret0;

 L11717: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L11718;
  goto ret0;

 L11718: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[2] = x5;
      goto L11719;
    }
  goto ret0;

 L11719: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)]
      && 
#line 857 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    {
      return 1014;  /* *mmx_smulv4hi3_highpart */
    }
  goto ret0;

 L11726: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[1] = x5;
      goto L11727;
    }
  goto ret0;

 L11727: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L11728;
  goto ret0;

 L11728: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[2] = x5;
      goto L11729;
    }
  goto ret0;

 L11729: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)]
      && 
#line 885 "../../gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    {
      return 1015;  /* *mmx_umulv4hi3_highpart */
    }
  goto ret0;

 L11764: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4SImode)
    goto L29416;
  goto ret0;

 L29416: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case MULT:
      goto L11765;
    case PLUS:
      goto L12153;
    case LSHIFTRT:
      goto L18293;
    default:
     break;
   }
  goto ret0;

 L11765: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4SImode
      && GET_CODE (x5) == SIGN_EXTEND)
    goto L11766;
  goto ret0;

 L11766: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V4HImode))
    {
      operands[1] = x6;
      goto L11767;
    }
  goto ret0;

 L11767: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == V4SImode
      && GET_CODE (x5) == SIGN_EXTEND)
    goto L11768;
  goto ret0;

 L11768: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V4HImode))
    {
      operands[2] = x6;
      goto L11769;
    }
  goto ret0;

 L11769: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 4)
    goto L11770;
  goto ret0;

 L11770: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (GET_CODE (x5) == CONST_INT
      && XWINT (x5, 0) == 32768L)
    goto L11771;
  goto ret0;

 L11771: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (GET_CODE (x5) == CONST_INT
      && XWINT (x5, 0) == 32768L)
    goto L11772;
  goto ret0;

 L11772: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (GET_CODE (x5) == CONST_INT
      && XWINT (x5, 0) == 32768L)
    goto L11773;
  goto ret0;

 L11773: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (GET_CODE (x5) == CONST_INT
      && XWINT (x5, 0) == 32768L)
    goto L11774;
  goto ret0;

 L11774: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)]
      && 
#line 966 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    {
      return 1017;  /* *mmx_pmulhrwv4hi3 */
    }
  goto ret0;

 L12153: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4SImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L12154;
  goto ret0;

 L12154: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V4HImode))
    {
      operands[1] = x6;
      goto L12155;
    }
  goto ret0;

 L12155: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == V4SImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L12156;
  goto ret0;

 L12156: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V4HImode))
    {
      operands[2] = x6;
      goto L12157;
    }
  goto ret0;

 L12157: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 4)
    goto L12158;
  goto ret0;

 L12158: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12159;
  goto ret0;

 L12159: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12160;
  goto ret0;

 L12160: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12161;
  goto ret0;

 L12161: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12162;
  goto ret0;

 L12162: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1625 "../../gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (PLUS, V4HImode, operands)))
    {
      return 1068;  /* *mmx_uavgv4hi3 */
    }
  goto ret0;

 L18293: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4SImode
      && GET_CODE (x5) == MULT)
    goto L18294;
  goto ret0;

 L18294: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == V4SImode
      && GET_CODE (x6) == SIGN_EXTEND)
    goto L18295;
  goto ret0;

 L18295: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V4HImode))
    {
      operands[1] = x7;
      goto L18296;
    }
  goto ret0;

 L18296: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == V4SImode
      && GET_CODE (x6) == SIGN_EXTEND)
    goto L18297;
  goto ret0;

 L18297: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V4HImode))
    {
      operands[2] = x7;
      goto L18298;
    }
  goto ret0;

 L18298: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L18299;
  goto ret0;

 L18299: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4HImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 4)
    goto L18300;
  goto ret0;

 L18300: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18301;
  goto ret0;

 L18301: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18302;
  goto ret0;

 L18302: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18303;
  goto ret0;

 L18303: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18304;
  goto ret0;

 L18304: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9234 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3 && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    {
      return 1634;  /* *ssse3_pmulhrswv4hi3 */
    }
  goto ret0;

 L11791: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11792;
    }
  goto ret0;

 L11792: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11793;
    }
  goto ret0;

 L11793: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1015 "../../gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (SMAX, V4HImode, operands)))
    {
      return 1019;  /* *mmx_smaxv4hi3 */
    }
  goto ret0;

 L11797: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11798;
    }
  goto ret0;

 L11798: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11799;
    }
  goto ret0;

 L11799: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1015 "../../gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (SMIN, V4HImode, operands)))
    {
      return 1020;  /* *mmx_sminv4hi3 */
    }
  goto ret0;

 L11815: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11816;
    }
  goto ret0;

 L11816: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11817;
    }
  goto ret0;

 L11817: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1045 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1023;  /* mmx_ashrv4hi3 */
    }
  goto ret0;

 L11827: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11828;
    }
  goto ret0;

 L11828: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11829;
    }
  goto ret0;

 L11829: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1059 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1025;  /* mmx_ashlv4hi3 */
    }
  goto ret0;

 L11833: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11834;
    }
  goto ret0;

 L11834: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11835;
    }
  goto ret0;

 L11835: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1059 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1026;  /* mmx_lshrv4hi3 */
    }
  goto ret0;

 L11869: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11870;
    }
  goto ret0;

 L11870: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11871;
    }
  goto ret0;

 L11871: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1087 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (EQ, V4HImode, operands)))
    {
      return 1032;  /* *mmx_eqv4hi3 */
    }
  goto ret0;

 L11887: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11888;
    }
  goto ret0;

 L11888: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11889;
    }
  goto ret0;

 L11889: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1097 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1035;  /* mmx_gtv4hi3 */
    }
  goto ret0;

 L11906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4HImode)
    goto L29419;
  goto ret0;

 L29419: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L11907;
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11939;
    }
  goto ret0;

 L11907: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4HImode))
    {
      operands[1] = x3;
      goto L11908;
    }
  goto ret0;

 L11908: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11909;
    }
  goto ret0;

 L11909: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1113 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1038;  /* mmx_andnotv4hi3 */
    }
  goto ret0;

 L11939: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11940;
    }
  goto ret0;

 L11940: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (AND, V4HImode, operands)))
    {
      return 1043;  /* *mmx_andv4hi3 */
    }
  goto ret0;

 L11944: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11945;
    }
  goto ret0;

 L11945: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11946;
    }
  goto ret0;

 L11946: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (IOR, V4HImode, operands)))
    {
      return 1044;  /* *mmx_iorv4hi3 */
    }
  goto ret0;

 L11950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L11951;
    }
  goto ret0;

 L11951: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L11952;
    }
  goto ret0;

 L11952: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (XOR, V4HImode, operands)))
    {
      return 1045;  /* *mmx_xorv4hi3 */
    }
  goto ret0;

 L11982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2HImode)
    goto L29421;
  goto ret0;

 L29421: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SS_TRUNCATE:
      goto L11983;
    case VEC_CONCAT:
      goto L16888;
    default:
     break;
   }
  goto ret0;

 L11983: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2SImode))
    {
      operands[1] = x3;
      goto L11984;
    }
  goto ret0;

 L11984: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2HImode
      && GET_CODE (x2) == SS_TRUNCATE)
    goto L11985;
  goto ret0;

 L11985: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2SImode))
    {
      operands[2] = x3;
      goto L11986;
    }
  goto ret0;

 L11986: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1161 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1050;  /* mmx_packssdw */
    }
  goto ret0;

 L16888: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode)
    goto L29423;
  goto ret0;

 L29423: ATTRIBUTE_UNUSED_LABEL
  return recog_14 (x0, insn, pnum_clobbers);

 L12028: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V8HImode:
      goto L29427;
    case V4HImode:
      goto L29428;
    default:
      break;
    }
  goto ret0;

 L29427: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L12029;
  goto ret0;

 L12029: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4HImode))
    {
      operands[1] = x3;
      goto L12030;
    }
  goto ret0;

 L12030: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4HImode))
    {
      operands[2] = x3;
      goto L12031;
    }
  goto ret0;

 L12031: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L12032;
  goto ret0;

 L12032: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29429;
  goto ret0;

 L29429: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 2L:
        goto L12033;
      case 0L:
        goto L12044;
      default:
        break;
      }
  goto ret0;

 L12033: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L12034;
  goto ret0;

 L12034: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L12035;
  goto ret0;

 L12035: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 1216 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1054;  /* mmx_punpckhwd */
    }
  goto ret0;

 L12044: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L12045;
  goto ret0;

 L12045: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12046;
  goto ret0;

 L12046: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)]
      && 
#line 1229 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1055;  /* mmx_punpcklwd */
    }
  goto ret0;

 L29428: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L12085;
    }
  goto ret0;

 L12085: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L12086;
  goto ret0;

 L12086: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L12087;
    }
  goto ret0;

 L12087: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L12088;
    }
  goto ret0;

 L12088: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L12089;
    }
  goto ret0;

 L12089: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L12090;
    }
  goto ret0;

 L12090: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1329 "../../gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
    {
      return 1060;  /* mmx_pshufw_1 */
    }
  goto ret0;

 L12068: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4HImode
      && GET_CODE (x2) == VEC_DUPLICATE)
    goto L12069;
  goto ret0;

 L12069: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L12070;
    }
  goto ret0;

 L12070: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L12071;
    }
  goto ret0;

 L12071: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L12072;
    }
  goto ret0;

 L12072: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1280 "../../gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V4HImode))))
    {
      return 1058;  /* *mmx_pinsrw */
    }
  goto ret0;

 L12101: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == TRUNCATE)
    goto L12102;
  goto ret0;

 L12102: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L12103;
    }
  goto ret0;

 L12103: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1360 "../../gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
    {
      return 1062;  /* *vec_dupv4hi */
    }
  goto ret0;

 L29409: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 96)
    goto L18368;
  goto ret0;

 L18368: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L18369;
    }
  goto ret0;

 L18369: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[2] = x2;
      goto L18370;
    }
  goto ret0;

 L18370: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9292 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1645;  /* ssse3_psignv4hi3 */
    }
  goto ret0;

 L18436: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L18437;
    }
  goto ret0;

 L18437: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9362 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1657;  /* absv4hi2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_16 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case EQ:
      goto L11539;
    case GT:
      goto L11545;
    case GE:
      goto L11551;
    case FIX:
      goto L11557;
    case SIGN_EXTEND:
      goto L11562;
    case PLUS:
      goto L11635;
    case MINUS:
      goto L11641;
    case ASHIFTRT:
      goto L11821;
    case ASHIFT:
      goto L11839;
    case LSHIFTRT:
      goto L11845;
    case AND:
      goto L11913;
    case IOR:
      goto L11962;
    case XOR:
      goto L11968;
    case VEC_SELECT:
      goto L12050;
    case VEC_DUPLICATE:
      goto L12107;
    case VEC_CONCAT:
      goto L12112;
    case UNSPEC:
      goto L29450;
    case ABS:
      goto L18441;
    default:
     break;
   }
  goto ret0;

 L11539: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2SFmode:
      goto L29452;
    case V2SImode:
      goto L29453;
    default:
      break;
    }
  goto ret0;

 L29452: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11540;
    }
  goto ret0;

 L11540: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11541;
    }
  goto ret0;

 L11541: ATTRIBUTE_UNUSED_LABEL
  if (
#line 581 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (EQ, V2SFmode, operands)))
    {
      return 985;  /* *mmx_eqv2sf3 */
    }
  goto ret0;

 L29453: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11876;
    }
  goto ret0;

 L11876: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L11877;
    }
  goto ret0;

 L11877: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1087 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (EQ, V2SImode, operands)))
    {
      return 1033;  /* *mmx_eqv2si3 */
    }
  goto ret0;

 L11545: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2SFmode:
      goto L29454;
    case V2SImode:
      goto L29455;
    default:
      break;
    }
  goto ret0;

 L29454: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11546;
    }
  goto ret0;

 L11546: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11547;
    }
  goto ret0;

 L11547: ATTRIBUTE_UNUSED_LABEL
  if (
#line 591 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 986;  /* mmx_gtv2sf3 */
    }
  goto ret0;

 L29455: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11894;
    }
  goto ret0;

 L11894: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L11895;
    }
  goto ret0;

 L11895: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1097 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1036;  /* mmx_gtv2si3 */
    }
  goto ret0;

 L11551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11552;
    }
  goto ret0;

 L11552: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11553;
    }
  goto ret0;

 L11553: ATTRIBUTE_UNUSED_LABEL
  if (
#line 601 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 987;  /* mmx_gev2sf3 */
    }
  goto ret0;

 L11557: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2SFmode:
      goto L29456;
    case V2DFmode:
      goto L29457;
    default:
      break;
    }
  goto ret0;

 L29456: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11558;
    }
  goto ret0;

 L11558: ATTRIBUTE_UNUSED_LABEL
  if (
#line 616 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 988;  /* mmx_pf2id */
    }
  goto ret0;

 L29457: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L14065;
    }
  goto ret0;

 L14065: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2351 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1304;  /* sse2_cvttpd2pi */
    }
  goto ret0;

 L11562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2HImode
      && GET_CODE (x2) == SS_TRUNCATE)
    goto L11563;
  goto ret0;

 L11563: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == FIX)
    goto L11564;
  goto ret0;

 L11564: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SFmode))
    {
      operands[1] = x4;
      goto L11565;
    }
  goto ret0;

 L11565: ATTRIBUTE_UNUSED_LABEL
  if (
#line 628 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
    {
      return 989;  /* mmx_pf2iw */
    }
  goto ret0;

 L11635: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SImode)
    goto L29459;
  goto ret0;

 L29459: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == MULT)
    goto L11734;
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11636;
    }
  goto ret0;

 L11734: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L11735;
  goto ret0;

 L11735: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L11736;
  goto ret0;

 L11736: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[1] = x5;
      goto L11737;
    }
  goto ret0;

 L11737: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L11738;
  goto ret0;

 L11738: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11739;
  goto ret0;

 L11739: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L11740;
  goto ret0;

 L11740: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L11741;
  goto ret0;

 L11741: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L11742;
  goto ret0;

 L11742: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4HImode))
    {
      operands[2] = x5;
      goto L11743;
    }
  goto ret0;

 L11743: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L11744;
  goto ret0;

 L11744: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11745;
  goto ret0;

 L11745: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L11746;
  goto ret0;

 L11746: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2SImode
      && GET_CODE (x2) == MULT)
    goto L11747;
  goto ret0;

 L11747: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L11748;
  goto ret0;

 L11748: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L11749;
  goto ret0;

 L11749: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L11750;
  goto ret0;

 L11750: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L11751;
  goto ret0;

 L11751: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L11752;
  goto ret0;

 L11752: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L11753;
  goto ret0;

 L11753: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L11754;
  goto ret0;

 L11754: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L11755;
  goto ret0;

 L11755: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L11756;
  goto ret0;

 L11756: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L11757;
  goto ret0;

 L11757: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L11758;
  goto ret0;

 L11758: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 932 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (MULT, V4HImode, operands)))
    {
      return 1016;  /* *mmx_pmaddwd */
    }
  goto ret0;

 L11636: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L11637;
    }
  goto ret0;

 L11637: ATTRIBUTE_UNUSED_LABEL
  if (
#line 794 "../../gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V2SImode == V1DImode))
   && ix86_binary_operator_ok (PLUS, V2SImode, operands)))
    {
      return 1001;  /* *mmx_addv2si3 */
    }
  goto ret0;

 L11641: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11642;
    }
  goto ret0;

 L11642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L11643;
    }
  goto ret0;

 L11643: ATTRIBUTE_UNUSED_LABEL
  if (
#line 794 "../../gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V2SImode == V1DImode))
   && ix86_binary_operator_ok (MINUS, V2SImode, operands)))
    {
      return 1002;  /* *mmx_subv2si3 */
    }
  goto ret0;

 L11821: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11822;
    }
  goto ret0;

 L11822: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11823;
    }
  goto ret0;

 L11823: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1045 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1024;  /* mmx_ashrv2si3 */
    }
  goto ret0;

 L11839: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11840;
    }
  goto ret0;

 L11840: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11841;
    }
  goto ret0;

 L11841: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1059 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1027;  /* mmx_ashlv2si3 */
    }
  goto ret0;

 L11845: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11846;
    }
  goto ret0;

 L11846: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11847;
    }
  goto ret0;

 L11847: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1059 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1028;  /* mmx_lshrv2si3 */
    }
  goto ret0;

 L11913: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SImode)
    goto L29460;
  goto ret0;

 L29460: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L11914;
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11957;
    }
  goto ret0;

 L11914: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2SImode))
    {
      operands[1] = x3;
      goto L11915;
    }
  goto ret0;

 L11915: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L11916;
    }
  goto ret0;

 L11916: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1113 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1039;  /* mmx_andnotv2si3 */
    }
  goto ret0;

 L11957: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L11958;
    }
  goto ret0;

 L11958: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (AND, V2SImode, operands)))
    {
      return 1046;  /* *mmx_andv2si3 */
    }
  goto ret0;

 L11962: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11963;
    }
  goto ret0;

 L11963: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L11964;
    }
  goto ret0;

 L11964: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (IOR, V2SImode, operands)))
    {
      return 1047;  /* *mmx_iorv2si3 */
    }
  goto ret0;

 L11968: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11969;
    }
  goto ret0;

 L11969: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L11970;
    }
  goto ret0;

 L11970: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1131 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (XOR, V2SImode, operands)))
    {
      return 1048;  /* *mmx_xorv2si3 */
    }
  goto ret0;

 L12050: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V4SImode:
      goto L29462;
    case V2SImode:
      goto L29463;
    default:
      break;
    }
  goto ret0;

 L29462: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case VEC_CONCAT:
      goto L12051;
    case UNSPEC:
      goto L29466;
    case FIX:
      goto L13963;
    default:
     break;
   }
  goto ret0;

 L12051: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2SImode))
    {
      operands[1] = x3;
      goto L12052;
    }
  goto ret0;

 L12052: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2SImode))
    {
      operands[2] = x3;
      goto L12053;
    }
  goto ret0;

 L12053: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L12054;
  goto ret0;

 L12054: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29467;
  goto ret0;

 L29467: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L12055;
      case 0L:
        goto L12064;
      default:
        break;
      }
  goto ret0;

 L12055: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 1242 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1056;  /* mmx_punpckhdq */
    }
  goto ret0;

 L12064: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && 
#line 1255 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1057;  /* mmx_punpckldq */
    }
  goto ret0;

 L29466: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 39)
    goto L13955;
  goto ret0;

 L13955: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13956;
    }
  goto ret0;

 L13956: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L13957;
  goto ret0;

 L13957: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13958;
  goto ret0;

 L13958: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2082 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1286;  /* sse_cvtps2pi */
    }
  goto ret0;

 L13963: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13964;
    }
  goto ret0;

 L13964: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L13965;
  goto ret0;

 L13965: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13966;
  goto ret0;

 L13966: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2093 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1287;  /* sse_cvttps2pi */
    }
  goto ret0;

 L29463: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L12095;
    }
  goto ret0;

 L12095: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L12096;
  goto ret0;

 L12096: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12097;
  goto ret0;

 L12097: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 1349 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
    {
      return 1061;  /* mmx_pswapdv2si2 */
    }
  goto ret0;

 L12107: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L12108;
    }
  goto ret0;

 L12108: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1370 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1063;  /* *vec_dupv2si */
    }
  goto ret0;

 L12112: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L29470;
  goto ret0;

 L29470: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L17051;
    case MINUS:
      goto L17760;
    case REG:
    case SUBREG:
    case MEM:
      goto L29469;
    default:
      goto ret0;
   }
 L29469: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L12113;
    }
  goto ret0;

 L17051: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L17052;
  goto ret0;

 L17052: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V2SImode))
    {
      operands[1] = x4;
      goto L17053;
    }
  goto ret0;

 L17053: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L17054;
  goto ret0;

 L17054: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17055;
  goto ret0;

 L17055: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L17056;
  goto ret0;

 L17056: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L17057;
  goto ret0;

 L17057: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L17058;
  goto ret0;

 L17058: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17059;
  goto ret0;

 L17059: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L17060;
  goto ret0;

 L17060: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L17061;
  goto ret0;

 L17061: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SImode))
    {
      operands[2] = x4;
      goto L17062;
    }
  goto ret0;

 L17062: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L17063;
  goto ret0;

 L17063: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17064;
  goto ret0;

 L17064: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L17065;
  goto ret0;

 L17065: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2]))
    goto L17066;
  goto ret0;

 L17066: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L17067;
  goto ret0;

 L17067: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 8348 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1616;  /* ssse3_phadddv2si3 */
    }
  goto ret0;

 L17760: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L17761;
  goto ret0;

 L17761: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V2SImode))
    {
      operands[1] = x4;
      goto L17762;
    }
  goto ret0;

 L17762: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L17763;
  goto ret0;

 L17763: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17764;
  goto ret0;

 L17764: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L17765;
  goto ret0;

 L17765: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L17766;
  goto ret0;

 L17766: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L17767;
  goto ret0;

 L17767: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17768;
  goto ret0;

 L17768: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MINUS)
    goto L17769;
  goto ret0;

 L17769: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L17770;
  goto ret0;

 L17770: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SImode))
    {
      operands[2] = x4;
      goto L17771;
    }
  goto ret0;

 L17771: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L17772;
  goto ret0;

 L17772: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17773;
  goto ret0;

 L17773: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L17774;
  goto ret0;

 L17774: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2]))
    goto L17775;
  goto ret0;

 L17775: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L17776;
  goto ret0;

 L17776: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 8755 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1625;  /* ssse3_phsubdv2si3 */
    }
  goto ret0;

 L12113: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L12114;
    }
 L16414: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_0_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L16415;
    }
  goto ret0;

 L12114: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1380 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && !TARGET_SSE))
    {
      return 1064;  /* *mmx_concatv2si */
    }
 L16409: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7608 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1585;  /* *vec_concatv2si_sse4_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L16414;

 L16415: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7632 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1586;  /* *vec_concatv2si_sse2 */
    }
 L16421: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7646 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1587;  /* *vec_concatv2si_sse */
    }
  goto ret0;

 L29450: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29472;
    case 2:
      goto L29473;
    default:
      break;
    }
  goto ret0;

 L29472: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 39)
    goto L14059;
  goto ret0;

 L14059: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L14060;
    }
  goto ret0;

 L14060: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2340 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1303;  /* sse2_cvtpd2pi */
    }
  goto ret0;

 L29473: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 96)
    goto L18374;
  goto ret0;

 L18374: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L18375;
    }
  goto ret0;

 L18375: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L18376;
    }
  goto ret0;

 L18376: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9292 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1646;  /* ssse3_psignv2si3 */
    }
  goto ret0;

 L18441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L18442;
    }
  goto ret0;

 L18442: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9362 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1658;  /* absv2si2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_17 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L11417;
    case MINUS:
      goto L11423;
    case MULT:
      goto L11429;
    case SMAX:
      goto L11435;
    case SMIN:
      goto L11441;
    case UNSPEC:
      goto L29498;
    case VEC_CONCAT:
      goto L11487;
    case VEC_MERGE:
      goto L11529;
    case FLOAT:
      goto L11569;
    case VEC_SELECT:
      goto L11581;
    case VEC_DUPLICATE:
      goto L11588;
    default:
     break;
   }
  goto ret0;

 L11417: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11418;
    }
  goto ret0;

 L11418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11419;
    }
  goto ret0;

 L11419: ATTRIBUTE_UNUSED_LABEL
  if (
#line 373 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (PLUS, V2SFmode, operands)))
    {
      return 970;  /* *mmx_addv2sf3 */
    }
  goto ret0;

 L11423: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11424;
    }
  goto ret0;

 L11424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11425;
    }
  goto ret0;

 L11425: ATTRIBUTE_UNUSED_LABEL
  if (
#line 395 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 971;  /* *mmx_subv2sf3 */
    }
  goto ret0;

 L11429: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11430;
    }
  goto ret0;

 L11430: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11431;
    }
  goto ret0;

 L11431: ATTRIBUTE_UNUSED_LABEL
  if (
#line 414 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (MULT, V2SFmode, operands)))
    {
      return 972;  /* *mmx_mulv2sf3 */
    }
  goto ret0;

 L11435: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SFmode)
    goto L29503;
  goto ret0;

 L29503: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11436;
    }
 L29504: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11448;
    }
  goto ret0;

 L11436: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11437;
    }
  x2 = XEXP (x1, 0);
  goto L29504;

 L11437: ATTRIBUTE_UNUSED_LABEL
  if (
#line 441 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW && flag_finite_math_only
   && ix86_binary_operator_ok (SMAX, V2SFmode, operands)))
    {
      return 973;  /* *mmx_smaxv2sf3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29504;

 L11448: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11449;
    }
  goto ret0;

 L11449: ATTRIBUTE_UNUSED_LABEL
  if (
#line 453 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 975;  /* *mmx_smaxv2sf3 */
    }
  goto ret0;

 L11441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SFmode)
    goto L29505;
  goto ret0;

 L29505: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11442;
    }
 L29506: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11454;
    }
  goto ret0;

 L11442: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11443;
    }
  x2 = XEXP (x1, 0);
  goto L29506;

 L11443: ATTRIBUTE_UNUSED_LABEL
  if (
#line 441 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW && flag_finite_math_only
   && ix86_binary_operator_ok (SMIN, V2SFmode, operands)))
    {
      return 974;  /* *mmx_sminv2sf3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29506;

 L11454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11455;
    }
  goto ret0;

 L11455: ATTRIBUTE_UNUSED_LABEL
  if (
#line 453 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 976;  /* *mmx_sminv2sf3 */
    }
  goto ret0;

 L29498: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29507;
    case 2:
      goto L29508;
    default:
      break;
    }
  goto ret0;

 L29507: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 86L:
      goto L11459;
    case 89L:
      goto L11476;
    default:
      break;
    }
  goto ret0;

 L11459: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11460;
    }
  goto ret0;

 L11460: ATTRIBUTE_UNUSED_LABEL
  if (
#line 463 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 977;  /* mmx_rcpv2sf2 */
    }
  goto ret0;

 L11476: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11477;
    }
  goto ret0;

 L11477: ATTRIBUTE_UNUSED_LABEL
  if (
#line 495 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 980;  /* mmx_rsqrtv2sf2 */
    }
  goto ret0;

 L29508: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 87L:
      goto L11464;
    case 88L:
      goto L11470;
    case 90L:
      goto L11481;
    default:
      break;
    }
  goto ret0;

 L11464: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11465;
    }
  goto ret0;

 L11465: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11466;
    }
  goto ret0;

 L11466: ATTRIBUTE_UNUSED_LABEL
  if (
#line 474 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 978;  /* mmx_rcpit1v2sf3 */
    }
  goto ret0;

 L11470: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11471;
    }
  goto ret0;

 L11471: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11472;
    }
  goto ret0;

 L11472: ATTRIBUTE_UNUSED_LABEL
  if (
#line 485 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 979;  /* mmx_rcpit2v2sf3 */
    }
  goto ret0;

 L11481: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11482;
    }
  goto ret0;

 L11482: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L11483;
    }
  goto ret0;

 L11483: ATTRIBUTE_UNUSED_LABEL
  if (
#line 506 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 981;  /* mmx_rsqit1v2sf3 */
    }
  goto ret0;

 L11487: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SFmode)
    goto L29512;
  goto ret0;

 L29512: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L11488;
    case MINUS:
      goto L11509;
    case REG:
    case SUBREG:
    case MEM:
      goto L29514;
    default:
      goto ret0;
   }
 L29514: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L11594;
    }
  goto ret0;

 L11488: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11489;
  goto ret0;

 L11489: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V2SFmode))
    {
      operands[1] = x4;
      goto L11490;
    }
  goto ret0;

 L11490: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11491;
  goto ret0;

 L11491: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11492;
  goto ret0;

 L11492: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11493;
  goto ret0;

 L11493: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L11494;
  goto ret0;

 L11494: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11495;
  goto ret0;

 L11495: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L11496;
  goto ret0;

 L11496: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == PLUS)
    goto L11497;
  goto ret0;

 L11497: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11498;
  goto ret0;

 L11498: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SFmode))
    {
      operands[2] = x4;
      goto L11499;
    }
  goto ret0;

 L11499: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11500;
  goto ret0;

 L11500: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11501;
  goto ret0;

 L11501: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11502;
  goto ret0;

 L11502: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2]))
    goto L11503;
  goto ret0;

 L11503: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11504;
  goto ret0;

 L11504: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 525 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 982;  /* mmx_haddv2sf3 */
    }
  goto ret0;

 L11509: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11510;
  goto ret0;

 L11510: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V2SFmode))
    {
      operands[1] = x4;
      goto L11511;
    }
  goto ret0;

 L11511: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11512;
  goto ret0;

 L11512: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11513;
  goto ret0;

 L11513: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11514;
  goto ret0;

 L11514: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L11515;
  goto ret0;

 L11515: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11516;
  goto ret0;

 L11516: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L11517;
  goto ret0;

 L11517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == MINUS)
    goto L11518;
  goto ret0;

 L11518: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11519;
  goto ret0;

 L11519: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SFmode))
    {
      operands[2] = x4;
      goto L11520;
    }
  goto ret0;

 L11520: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11521;
  goto ret0;

 L11521: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11522;
  goto ret0;

 L11522: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11523;
  goto ret0;

 L11523: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2]))
    goto L11524;
  goto ret0;

 L11524: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11525;
  goto ret0;

 L11525: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 544 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
    {
      return 983;  /* mmx_hsubv2sf3 */
    }
  goto ret0;

 L11594: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L11595;
    }
 L14469: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_0_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L14470;
    }
  goto ret0;

 L11595: ATTRIBUTE_UNUSED_LABEL
  if (
#line 685 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && !TARGET_SSE))
    {
      return 994;  /* *mmx_concatv2sf */
    }
 L14464: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3763 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1350;  /* *vec_concatv2sf_sse4_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L14469;

 L14470: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3788 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1351;  /* *vec_concatv2sf_sse */
    }
  goto ret0;

 L11529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SFmode
      && GET_CODE (x2) == PLUS)
    goto L11530;
  goto ret0;

 L11530: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2SFmode))
    {
      operands[1] = x3;
      goto L11531;
    }
  goto ret0;

 L11531: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2SFmode))
    {
      operands[2] = x3;
      goto L11532;
    }
  goto ret0;

 L11532: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2SFmode
      && GET_CODE (x2) == MINUS)
    goto L11533;
  goto ret0;

 L11533: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L11534;
  goto ret0;

 L11534: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L11535;
  goto ret0;

 L11535: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 558 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
    {
      return 984;  /* mmx_addsubv2sf3 */
    }
  goto ret0;

 L11569: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SImode)
    goto L29515;
  goto ret0;

 L29515: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == SIGN_EXTEND)
    goto L11570;
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L11577;
    }
  goto ret0;

 L11570: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == TRUNCATE)
    goto L11571;
  goto ret0;

 L11571: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SImode))
    {
      operands[1] = x4;
      goto L11572;
    }
  goto ret0;

 L11572: ATTRIBUTE_UNUSED_LABEL
  if (
#line 640 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
    {
      return 990;  /* mmx_pi2fw */
    }
  goto ret0;

 L11577: ATTRIBUTE_UNUSED_LABEL
  if (
#line 649 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 991;  /* mmx_floatv2si2 */
    }
  goto ret0;

 L11581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11582;
    }
  goto ret0;

 L11582: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L11583;
  goto ret0;

 L11583: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L11584;
  goto ret0;

 L11584: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 665 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
    {
      return 992;  /* mmx_pswapdv2sf2 */
    }
  goto ret0;

 L11588: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L11589;
    }
  goto ret0;

 L11589: ATTRIBUTE_UNUSED_LABEL
  if (
#line 675 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 993;  /* *vec_dupv2sf */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_18 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L12075;
    }
 L28536: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L12117;
    }
 L28566: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L12345;
    }
 L28585: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L16366;
    }
  goto ret0;

 L12075: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L29573;
  x1 = XEXP (x0, 0);
  goto L28536;

 L29573: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case ZERO_EXTEND:
      goto L12076;
    case UNSPEC:
      goto L29577;
    case FIX:
      goto L14010;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28536;

 L12076: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L29579;
    case QImode:
      goto L29580;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29579: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L12077;
  x1 = XEXP (x0, 0);
  goto L28536;

 L12077: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case V4HImode:
      goto L29581;
    case V8HImode:
      goto L29582;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29581: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V4HImode))
    {
      operands[1] = x3;
      goto L12078;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L12078: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L12079;
  x1 = XEXP (x0, 0);
  goto L28536;

 L12079: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (const_0_to_3_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L12080;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L12080: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1300 "../../gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
    {
      return 1059;  /* mmx_pextrw */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29582: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L16217;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L16217: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L16218;
  x1 = XEXP (x0, 0);
  goto L28536;

 L16218: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (const_0_to_7_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L16219;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L16219: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7070 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1564;  /* *sse2_pextrw_si */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29580: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L16193;
  x1 = XEXP (x0, 0);
  goto L28536;

 L16193: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L16194;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L16194: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L16195;
  x1 = XEXP (x0, 0);
  goto L28536;

 L16195: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (const_0_to_15_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L16196;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L16196: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7043 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1561;  /* *sse4_1_pextrb_si */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29577: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L29583;
  x1 = XEXP (x0, 0);
  goto L28536;

 L29583: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 41L:
      goto L12172;
    case 39L:
      goto L13986;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L12172: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L12173;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L12173: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1645 "../../gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
    {
      return 1070;  /* mmx_pmovmskb */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L13986: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L29585;
    case DFmode:
      goto L29587;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29585: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L13987;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L13994;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L13987: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13988;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L13988: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13989;
  x1 = XEXP (x0, 0);
  goto L28536;

 L13989: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 2149 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1290;  /* sse_cvtss2si */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L13994: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2162 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1291;  /* sse_cvtss2si_2 */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29587: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14086;
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L14093;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L14086: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14087;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L14087: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14088;
  x1 = XEXP (x0, 0);
  goto L28536;

 L14088: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 2408 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1307;  /* sse2_cvtsd2si */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L14093: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2421 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1308;  /* sse2_cvtsd2si_2 */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L14010: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L29589;
    case DFmode:
      goto L29590;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29589: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14011;
  x1 = XEXP (x0, 0);
  goto L28536;

 L14011: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14012;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L14012: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14013;
  x1 = XEXP (x0, 0);
  goto L28536;

 L14013: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 2208 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1294;  /* sse_cvttss2si */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L29590: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14110;
  x1 = XEXP (x0, 0);
  goto L28536;

 L14110: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14111;
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L14111: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14112;
  x1 = XEXP (x0, 0);
  goto L28536;

 L14112: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 2467 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1311;  /* sse2_cvttsd2si */
    }
  x1 = XEXP (x0, 0);
  goto L28536;

 L12117: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L12118;
  x1 = XEXP (x0, 0);
  goto L28566;

 L12118: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2SImode:
      goto L29591;
    case V4SImode:
      goto L29592;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28566;

 L29591: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L12119;
    }
  x1 = XEXP (x0, 0);
  goto L28566;

 L12119: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L12120;
  x1 = XEXP (x0, 0);
  goto L28566;

 L12120: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29593;
  x1 = XEXP (x0, 0);
  goto L28566;

 L29593: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 0L:
        goto L29595;
      case 1L:
        goto L29596;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28566;

 L29595: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1405 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1065;  /* *vec_extractv2si_0 */
    }
  x1 = XEXP (x0, 0);
  goto L28566;

 L29596: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1426 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1066;  /* *vec_extractv2si_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28566;

 L29592: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L16239;
    }
  x1 = XEXP (x0, 0);
  goto L28566;

 L16239: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L16240;
  x1 = XEXP (x0, 0);
  goto L28566;

 L16240: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29597;
  x1 = XEXP (x0, 0);
  goto L28566;

 L29597: ATTRIBUTE_UNUSED_LABEL
  if (const_0_to_3_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L16241;
    }
 L29598: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x3, 0) == 0L
      && 
#line 7466 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1577;  /* sse2_stored */
    }
  x1 = XEXP (x0, 0);
  goto L28566;

 L16241: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7096 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1567;  /* *sse4_1_pextrd */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L29598;

 L12345: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L29599;
  x1 = XEXP (x0, 0);
  goto L28585;

 L29599: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L29601;
    case UNSPEC_VOLATILE:
      goto L29602;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28585;

 L29601: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 91)
    goto L12346;
  x1 = XEXP (x0, 0);
  goto L28585;

 L12346: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L12347;
    }
  x1 = XEXP (x0, 0);
  goto L28585;

 L12347: ATTRIBUTE_UNUSED_LABEL
  if (
#line 665 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1105;  /* sse2_movntisi */
    }
  x1 = XEXP (x0, 0);
  goto L28585;

 L29602: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 24)
    goto L16624;
  x1 = XEXP (x0, 0);
  goto L28585;

 L16624: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 8049 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1606;  /* sse_stmxcsr */
    }
  x1 = XEXP (x0, 0);
  goto L28585;

 L16366: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L29603;
  goto ret0;

 L29603: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case VEC_SELECT:
      goto L16367;
    case UNSPEC:
      goto L29605;
    default:
     break;
   }
  goto ret0;

 L16367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L16368;
    }
  goto ret0;

 L16368: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L16369;
  goto ret0;

 L16369: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      return 1578;  /* *vec_ext_v4si_mem */
    }
  goto ret0;

 L29605: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 41)
    goto L16575;
  goto ret0;

 L16575: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case V8SFmode:
      goto L29606;
    case V4SFmode:
      goto L29607;
    case V4DFmode:
      goto L29608;
    case V2DFmode:
      goto L29609;
    case V32QImode:
      goto L29610;
    case V16QImode:
      goto L29611;
    default:
      break;
    }
  goto ret0;

 L29606: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L16576;
    }
  goto ret0;

 L16576: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7985 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1597;  /* avx_movmskps256 */
    }
  goto ret0;

 L29607: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L16581;
    }
  goto ret0;

 L16581: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7985 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1598;  /* sse_movmskps */
    }
  goto ret0;

 L29608: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L16586;
    }
  goto ret0;

 L16586: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7985 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1599;  /* avx_movmskpd256 */
    }
  goto ret0;

 L29609: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L16591;
    }
  goto ret0;

 L16591: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7985 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1600;  /* sse2_movmskpd */
    }
  goto ret0;

 L29610: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L16596;
    }
  goto ret0;

 L16596: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7995 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1601;  /* avx2_pmovmskb */
    }
  goto ret0;

 L29611: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L16601;
    }
  goto ret0;

 L16601: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8005 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1602;  /* sse2_pmovmskb */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_19 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L29639;
    case PLUS:
      goto L14831;
    case MINUS:
      goto L14837;
    case SS_PLUS:
      goto L14927;
    case US_PLUS:
      goto L14933;
    case SS_MINUS:
      goto L14939;
    case US_MINUS:
      goto L14945;
    case MULT:
      goto L15023;
    case SMAX:
      goto L15395;
    case SMIN:
      goto L15401;
    case UMAX:
      goto L15407;
    case UMIN:
      goto L15413;
    case EQ:
      goto L15539;
    case GT:
      goto L15593;
    case AND:
      goto L15635;
    case IOR:
      goto L15697;
    case XOR:
      goto L15703;
    case VEC_CONCAT:
      goto L15860;
    case VEC_SELECT:
      goto L15908;
    case TRUNCATE:
      goto L16443;
    case ABS:
      goto L18401;
    case IF_THEN_ELSE:
      goto L19331;
    case VEC_DUPLICATE:
      goto L20316;
    default:
     break;
   }
  goto ret0;

 L29639: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29644;
    case 2:
      goto L29646;
    case 3:
      goto L29648;
    default:
      break;
    }
  goto ret0;

 L29644: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 92L:
      goto L12316;
    case 94L:
      goto L12336;
    default:
      break;
    }
  goto ret0;

 L12316: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L12317;
    }
  goto ret0;

 L12317: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 612 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 164 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1099;  /* avx_loaddqu256 */
    }
  goto ret0;

 L12336: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L12337;
    }
  goto ret0;

 L12337: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 644 "../../gcc/config/i386/sse.md"
(TARGET_SSE3) && 
#line 164 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1103;  /* avx_lddqu256 */
    }
  goto ret0;

 L29646: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 95L:
      goto L18308;
    case 96L:
      goto L18326;
    default:
      break;
    }
  goto ret0;

 L18308: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L18309;
    }
  goto ret0;

 L18309: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L18310;
    }
  goto ret0;

 L18310: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9246 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 171 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1635;  /* avx2_pshufbv32qi3 */
    }
  goto ret0;

 L18326: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L18327;
    }
  goto ret0;

 L18327: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L18328;
    }
  goto ret0;

 L18328: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9275 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 199 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1638;  /* avx2_psignv32qi3 */
    }
  goto ret0;

 L29648: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 106)
    goto L18591;
  goto ret0;

 L18591: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L18592;
    }
  goto ret0;

 L18592: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L18593;
    }
  goto ret0;

 L18593: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18594;
    }
  goto ret0;

 L18594: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9528 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 171 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1681;  /* avx2_mpsadbw */
    }
  goto ret0;

 L14831: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L14832;
    }
  goto ret0;

 L14832: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L14833;
    }
  goto ret0;

 L14833: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && (TARGET_AVX2)))
    {
      return 1392;  /* *addv32qi3 */
    }
  goto ret0;

 L14837: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L14838;
    }
  goto ret0;

 L14838: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L14839;
    }
  goto ret0;

 L14839: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32QImode, operands)) && (TARGET_AVX2)))
    {
      return 1393;  /* *subv32qi3 */
    }
  goto ret0;

 L14927: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L14928;
    }
  goto ret0;

 L14928: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L14929;
    }
  goto ret0;

 L14929: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (SS_PLUS, V32QImode, operands)) && (TARGET_AVX2)))
    {
      return 1408;  /* *avx2_ssaddv32qi3 */
    }
  goto ret0;

 L14933: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L14934;
    }
  goto ret0;

 L14934: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L14935;
    }
  goto ret0;

 L14935: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (US_PLUS, V32QImode, operands)) && (TARGET_AVX2)))
    {
      return 1409;  /* *avx2_usaddv32qi3 */
    }
  goto ret0;

 L14939: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L14940;
    }
  goto ret0;

 L14940: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L14941;
    }
  goto ret0;

 L14941: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (SS_MINUS, V32QImode, operands)) && (TARGET_AVX2)))
    {
      return 1410;  /* *avx2_sssubv32qi3 */
    }
  goto ret0;

 L14945: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L14946;
    }
  goto ret0;

 L14946: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L14947;
    }
  goto ret0;

 L14947: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) && (TARGET_AVX2)))
    {
      return 1411;  /* *avx2_ussubv32qi3 */
    }
  goto ret0;

 L15023: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15024;
    }
  goto ret0;

 L15024: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15025;
    }
  goto ret0;

 L15025: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4958 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && can_create_pseudo_p ()) && 
#line 171 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1424;  /* mulv32qi3 */
    }
  goto ret0;

 L15395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15396;
    }
  goto ret0;

 L15396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15397;
    }
  goto ret0;

 L15397: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMAX, V32QImode, operands)))
    {
      return 1463;  /* *avx2_smaxv32qi3 */
    }
  goto ret0;

 L15401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15402;
    }
  goto ret0;

 L15402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15403;
    }
  goto ret0;

 L15403: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMIN, V32QImode, operands)))
    {
      return 1464;  /* *avx2_sminv32qi3 */
    }
  goto ret0;

 L15407: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15408;
    }
  goto ret0;

 L15408: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15409;
    }
  goto ret0;

 L15409: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMAX, V32QImode, operands)))
    {
      return 1465;  /* *avx2_umaxv32qi3 */
    }
  goto ret0;

 L15413: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15414;
    }
  goto ret0;

 L15414: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15415;
    }
  goto ret0;

 L15415: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMIN, V32QImode, operands)))
    {
      return 1466;  /* *avx2_uminv32qi3 */
    }
  goto ret0;

 L15539: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15540;
    }
  goto ret0;

 L15540: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15541;
    }
  goto ret0;

 L15541: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6178 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (EQ, V32QImode, operands)))
    {
      return 1487;  /* *avx2_eqv32qi3 */
    }
  goto ret0;

 L15593: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15594;
    }
  goto ret0;

 L15594: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15595;
    }
  goto ret0;

 L15595: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6252 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1496;  /* avx2_gtv32qi3 */
    }
  goto ret0;

 L15635: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V32QImode)
    goto L29649;
  goto ret0;

 L29649: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15636;
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15692;
    }
  goto ret0;

 L15636: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V32QImode))
    {
      operands[1] = x3;
      goto L15637;
    }
  goto ret0;

 L15637: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15638;
    }
  goto ret0;

 L15638: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6443 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 151 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1503;  /* *andnotv32qi3 */
    }
  goto ret0;

 L15692: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15693;
    }
  goto ret0;

 L15693: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (AND, V32QImode, operands)) && (TARGET_AVX)))
    {
      return 1511;  /* *andv32qi3 */
    }
  goto ret0;

 L15697: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15698;
    }
  goto ret0;

 L15698: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15699;
    }
  goto ret0;

 L15699: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (IOR, V32QImode, operands)) && (TARGET_AVX)))
    {
      return 1512;  /* *iorv32qi3 */
    }
  goto ret0;

 L15703: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L15704;
    }
  goto ret0;

 L15704: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L15705;
    }
  goto ret0;

 L15705: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (XOR, V32QImode, operands)) && (TARGET_AVX)))
    {
      return 1513;  /* *xorv32qi3 */
    }
  goto ret0;

 L15860: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16QImode)
    goto L29651;
  goto ret0;

 L29651: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SS_TRUNCATE:
      goto L15861;
    case US_TRUNCATE:
      goto L15893;
    case VEC_SELECT:
      goto L20763;
    case SUBREG:
    case MEM:
      goto L29653;
    default:
      goto L29654;
   }
 L29653: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L20435;
    }
 L29654: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L20455;
    }
 L29655: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L20740;
    }
 L29657: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L20958;
    }
  goto ret0;

 L15861: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16HImode))
    {
      operands[1] = x3;
      goto L15862;
    }
  goto ret0;

 L15862: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == SS_TRUNCATE)
    goto L15863;
  goto ret0;

 L15863: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16HImode))
    {
      operands[2] = x3;
      goto L15864;
    }
  goto ret0;

 L15864: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6643 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 171 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1539;  /* avx2_packsswb */
    }
  goto ret0;

 L15893: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16HImode))
    {
      operands[1] = x3;
      goto L15894;
    }
  goto ret0;

 L15894: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == US_TRUNCATE)
    goto L15895;
  goto ret0;

 L15895: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16HImode))
    {
      operands[2] = x3;
      goto L15896;
    }
  goto ret0;

 L15896: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6677 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 171 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1543;  /* avx2_packuswb */
    }
  goto ret0;

 L20763: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V32QImode))
    {
      operands[1] = x3;
      goto L20764;
    }
  goto ret0;

 L20764: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 16)
    goto L20765;
  goto ret0;

 L20765: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L20766;
  goto ret0;

 L20766: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L20767;
  goto ret0;

 L20767: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L20768;
  goto ret0;

 L20768: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L20769;
  goto ret0;

 L20769: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 4);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L20770;
  goto ret0;

 L20770: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 5);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L20771;
  goto ret0;

 L20771: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 6);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L20772;
  goto ret0;

 L20772: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 7);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L20773;
  goto ret0;

 L20773: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 8);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L20774;
  goto ret0;

 L20774: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 9);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L20775;
  goto ret0;

 L20775: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 10);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L20776;
  goto ret0;

 L20776: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 11);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L20777;
  goto ret0;

 L20777: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 12);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L20778;
  goto ret0;

 L20778: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 13);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L20779;
  goto ret0;

 L20779: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 14);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L20780;
  goto ret0;

 L20780: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 15);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L20781;
  goto ret0;

 L20781: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L20782;
    }
  goto ret0;

 L20782: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12298 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1894;  /* vec_set_hi_v32qi */
    }
  goto ret0;

 L20435: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11851 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1854;  /* avx2_vbroadcasti128_v32qi */
    }
  x2 = XEXP (x1, 0);
  goto L29654;

 L20455: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11874 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1858;  /* avx_vbroadcastf128_v32qi */
    }
  x2 = XEXP (x1, 0);
  goto L29655;

 L20740: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20741;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20741: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V32QImode))
    {
      operands[1] = x3;
      goto L20742;
    }
  x2 = XEXP (x1, 0);
  goto L29657;

 L20742: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 16)
    goto L20743;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20743: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (16)])
    goto L20744;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20744: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (17)])
    goto L20745;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20745: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (18)])
    goto L20746;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20746: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (19)])
    goto L20747;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20747: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 4);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (20)])
    goto L20748;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20748: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 5);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (21)])
    goto L20749;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20749: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 6);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (22)])
    goto L20750;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20750: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 7);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (23)])
    goto L20751;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20751: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 8);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (24)])
    goto L20752;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20752: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 9);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (25)])
    goto L20753;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20753: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 10);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (26)])
    goto L20754;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20754: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 11);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (27)])
    goto L20755;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20755: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 12);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (28)])
    goto L20756;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20756: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 13);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (29)])
    goto L20757;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20757: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 14);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (30)])
    goto L20758;
  x2 = XEXP (x1, 0);
  goto L29657;

 L20758: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 15);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (31)]
      && 
#line 12276 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1893;  /* vec_set_lo_v32qi */
    }
  x2 = XEXP (x1, 0);
  goto L29657;

 L20958: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L20959;
    }
  goto ret0;

 L20959: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12438 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1924;  /* avx_vec_concatv32qi */
    }
  goto ret0;

 L15908: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V64QImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L15909;
  goto ret0;

 L15909: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V32QImode))
    {
      operands[1] = x3;
      goto L15910;
    }
  goto ret0;

 L15910: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V32QImode))
    {
      operands[2] = x3;
      goto L15911;
    }
  goto ret0;

 L15911: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 32)
    goto L15912;
  goto ret0;

 L15912: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29658;
  goto ret0;

 L29658: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 8L:
        goto L15913;
      case 0L:
        goto L15975;
      default:
        break;
      }
  goto ret0;

 L15913: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (40)])
    goto L15914;
  goto ret0;

 L15914: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L15915;
  goto ret0;

 L15915: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (41)])
    goto L15916;
  goto ret0;

 L15916: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L15917;
  goto ret0;

 L15917: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (42)])
    goto L15918;
  goto ret0;

 L15918: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L15919;
  goto ret0;

 L15919: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (43)])
    goto L15920;
  goto ret0;

 L15920: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L15921;
  goto ret0;

 L15921: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (44)])
    goto L15922;
  goto ret0;

 L15922: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L15923;
  goto ret0;

 L15923: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (45)])
    goto L15924;
  goto ret0;

 L15924: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L15925;
  goto ret0;

 L15925: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (46)])
    goto L15926;
  goto ret0;

 L15926: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L15927;
  goto ret0;

 L15927: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (47)])
    goto L15928;
  goto ret0;

 L15928: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 16);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (24)])
    goto L15929;
  goto ret0;

 L15929: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 17);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (56)])
    goto L15930;
  goto ret0;

 L15930: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 18);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (25)])
    goto L15931;
  goto ret0;

 L15931: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 19);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (57)])
    goto L15932;
  goto ret0;

 L15932: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 20);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (26)])
    goto L15933;
  goto ret0;

 L15933: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 21);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (58)])
    goto L15934;
  goto ret0;

 L15934: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 22);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (27)])
    goto L15935;
  goto ret0;

 L15935: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 23);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (59)])
    goto L15936;
  goto ret0;

 L15936: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 24);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (28)])
    goto L15937;
  goto ret0;

 L15937: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 25);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (60)])
    goto L15938;
  goto ret0;

 L15938: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 26);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (29)])
    goto L15939;
  goto ret0;

 L15939: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 27);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (61)])
    goto L15940;
  goto ret0;

 L15940: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 28);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (30)])
    goto L15941;
  goto ret0;

 L15941: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 29);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (62)])
    goto L15942;
  goto ret0;

 L15942: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 30);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (31)])
    goto L15943;
  goto ret0;

 L15943: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 31);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (63)]
      && 
#line 6709 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1545;  /* avx2_interleave_highv32qi */
    }
  goto ret0;

 L15975: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L15976;
  goto ret0;

 L15976: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L15977;
  goto ret0;

 L15977: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (33)])
    goto L15978;
  goto ret0;

 L15978: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15979;
  goto ret0;

 L15979: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (34)])
    goto L15980;
  goto ret0;

 L15980: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L15981;
  goto ret0;

 L15981: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (35)])
    goto L15982;
  goto ret0;

 L15982: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15983;
  goto ret0;

 L15983: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (36)])
    goto L15984;
  goto ret0;

 L15984: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L15985;
  goto ret0;

 L15985: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (37)])
    goto L15986;
  goto ret0;

 L15986: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L15987;
  goto ret0;

 L15987: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (38)])
    goto L15988;
  goto ret0;

 L15988: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L15989;
  goto ret0;

 L15989: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (39)])
    goto L15990;
  goto ret0;

 L15990: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 16);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)])
    goto L15991;
  goto ret0;

 L15991: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 17);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (48)])
    goto L15992;
  goto ret0;

 L15992: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 18);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (17)])
    goto L15993;
  goto ret0;

 L15993: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 19);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (49)])
    goto L15994;
  goto ret0;

 L15994: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 20);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (18)])
    goto L15995;
  goto ret0;

 L15995: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 21);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (50)])
    goto L15996;
  goto ret0;

 L15996: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 22);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (19)])
    goto L15997;
  goto ret0;

 L15997: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 23);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (51)])
    goto L15998;
  goto ret0;

 L15998: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 24);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (20)])
    goto L15999;
  goto ret0;

 L15999: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 25);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (52)])
    goto L16000;
  goto ret0;

 L16000: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 26);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (21)])
    goto L16001;
  goto ret0;

 L16001: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 27);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (53)])
    goto L16002;
  goto ret0;

 L16002: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 28);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (22)])
    goto L16003;
  goto ret0;

 L16003: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 29);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (54)])
    goto L16004;
  goto ret0;

 L16004: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 30);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (23)])
    goto L16005;
  goto ret0;

 L16005: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 31);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (55)]
      && 
#line 6761 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1547;  /* avx2_interleave_lowv32qi */
    }
  goto ret0;

 L16443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V32HImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L16444;
  goto ret0;

 L16444: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V32HImode
      && GET_CODE (x3) == PLUS)
    goto L16445;
  goto ret0;

 L16445: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V32HImode
      && GET_CODE (x4) == PLUS)
    goto L16446;
  goto ret0;

 L16446: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V32HImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L16447;
  goto ret0;

 L16447: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V32QImode))
    {
      operands[1] = x6;
      goto L16448;
    }
  goto ret0;

 L16448: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == V32HImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L16449;
  goto ret0;

 L16449: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V32QImode))
    {
      operands[2] = x6;
      goto L16450;
    }
  goto ret0;

 L16450: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V32QImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 32)
    goto L16451;
  goto ret0;

 L16451: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16452;
  goto ret0;

 L16452: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16453;
  goto ret0;

 L16453: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16454;
  goto ret0;

 L16454: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16455;
  goto ret0;

 L16455: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16456;
  goto ret0;

 L16456: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16457;
  goto ret0;

 L16457: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16458;
  goto ret0;

 L16458: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16459;
  goto ret0;

 L16459: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 8);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16460;
  goto ret0;

 L16460: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 9);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16461;
  goto ret0;

 L16461: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 10);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16462;
  goto ret0;

 L16462: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 11);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16463;
  goto ret0;

 L16463: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 12);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16464;
  goto ret0;

 L16464: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 13);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16465;
  goto ret0;

 L16465: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 14);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16466;
  goto ret0;

 L16466: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 15);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16467;
  goto ret0;

 L16467: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 16);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16468;
  goto ret0;

 L16468: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 17);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16469;
  goto ret0;

 L16469: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 18);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16470;
  goto ret0;

 L16470: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 19);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16471;
  goto ret0;

 L16471: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 20);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16472;
  goto ret0;

 L16472: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 21);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16473;
  goto ret0;

 L16473: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 22);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16474;
  goto ret0;

 L16474: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 23);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16475;
  goto ret0;

 L16475: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 24);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16476;
  goto ret0;

 L16476: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 25);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16477;
  goto ret0;

 L16477: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 26);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16478;
  goto ret0;

 L16478: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 27);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16479;
  goto ret0;

 L16479: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 28);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16480;
  goto ret0;

 L16480: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 29);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16481;
  goto ret0;

 L16481: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 30);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16482;
  goto ret0;

 L16482: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 31);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16483;
  goto ret0;

 L16483: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 7837 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (PLUS, V32QImode, operands)))
    {
      return 1591;  /* *avx2_uavgv32qi3 */
    }
  goto ret0;

 L18401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L18402;
    }
  goto ret0;

 L18402: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9350 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 199 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1650;  /* absv32qi2 */
    }
  goto ret0;

 L19331: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[3] = x2;
      goto L19332;
    }
  goto ret0;

 L19332: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L19333;
    }
  goto ret0;

 L19333: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L19334;
    }
  goto ret0;

 L19334: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 113 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1748;  /* xop_pcmov_v32qi256 */
    }
  goto ret0;

 L20316: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20317;
  goto ret0;

 L20317: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L20318;
    }
  goto ret0;

 L20318: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20319;
  goto ret0;

 L20319: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 11723 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 151 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1836;  /* avx2_pbroadcastv32qi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_20 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L29699;
    case PLUS:
      goto L14843;
    case MINUS:
      goto L14849;
    case SS_PLUS:
      goto L14951;
    case US_PLUS:
      goto L14957;
    case SS_MINUS:
      goto L14963;
    case US_MINUS:
      goto L14969;
    case MULT:
      goto L15029;
    case SMAX:
      goto L15467;
    case SMIN:
      goto L15473;
    case UMAX:
      goto L15527;
    case UMIN:
      goto L15533;
    case EQ:
      goto L15569;
    case GT:
      goto L15617;
    case AND:
      goto L15642;
    case IOR:
      goto L15715;
    case XOR:
      goto L15721;
    case VEC_CONCAT:
      goto L15868;
    case VEC_SELECT:
      goto L15947;
    case VEC_MERGE:
      goto L16160;
    case TRUNCATE:
      goto L16487;
    case ABS:
      goto L18406;
    case IF_THEN_ELSE:
      goto L19338;
    case ROTATE:
      goto L19884;
    case ROTATERT:
      goto L19908;
    case VEC_DUPLICATE:
      goto L20323;
    default:
     break;
   }
 L29694: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_int_operator (x1, V16QImode))
    {
      operands[1] = x1;
      goto L20132;
    }
 L29695: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_uns_operator (x1, V16QImode))
    {
      operands[1] = x1;
      goto L20156;
    }
  goto ret0;

 L29699: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29707;
    case 2:
      goto L29709;
    case 3:
      goto L29711;
    default:
      break;
    }
  goto ret0;

 L29707: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 92L:
      goto L12321;
    case 94L:
      goto L12341;
    case 112L:
      goto L20180;
    default:
      break;
    }
  goto ret0;

 L12321: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L12322;
    }
  goto ret0;

 L12322: ATTRIBUTE_UNUSED_LABEL
  if (
#line 612 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1100;  /* sse2_loaddqu */
    }
  goto ret0;

 L12341: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L12342;
    }
  goto ret0;

 L12342: ATTRIBUTE_UNUSED_LABEL
  if (
#line 644 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1104;  /* sse3_lddqu */
    }
  goto ret0;

 L20180: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (ix86_comparison_uns_operator (x2, V16QImode))
    {
      operands[1] = x2;
      goto L20181;
    }
  goto ret0;

 L20181: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L20182;
    }
  goto ret0;

 L20182: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[3] = x3;
      goto L20183;
    }
  goto ret0;

 L20183: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11521 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1815;  /* xop_maskcmp_uns2v16qi3 */
    }
  goto ret0;

 L29709: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 95L:
      goto L18314;
    case 96L:
      goto L18332;
    default:
      break;
    }
  goto ret0;

 L18314: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L18315;
    }
  goto ret0;

 L18315: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L18316;
    }
  goto ret0;

 L18316: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9246 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1636;  /* ssse3_pshufbv16qi3 */
    }
  goto ret0;

 L18332: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L18333;
    }
  goto ret0;

 L18333: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L18334;
    }
  goto ret0;

 L18334: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9275 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1639;  /* ssse3_psignv16qi3 */
    }
  goto ret0;

 L29711: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 106L:
      goto L18598;
    case 114L:
      goto L19844;
    case 113L:
      goto L20208;
    default:
      break;
    }
  goto ret0;

 L18598: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L18599;
    }
  goto ret0;

 L18599: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L18600;
    }
  goto ret0;

 L18600: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18601;
    }
  goto ret0;

 L18601: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9528 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1682;  /* sse4_1_mpsadbw */
    }
  goto ret0;

 L19844: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L19845;
    }
  goto ret0;

 L19845: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L19846;
    }
  goto ret0;

 L19846: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L19847;
    }
  goto ret0;

 L19847: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11042 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 1775;  /* xop_pperm */
    }
  goto ret0;

 L20208: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L20209;
    }
  goto ret0;

 L20209: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L20210;
    }
  goto ret0;

 L20210: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20211;
    }
  goto ret0;

 L20211: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11538 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1819;  /* xop_pcom_tfv16qi3 */
    }
  goto ret0;

 L14843: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L14844;
    }
  goto ret0;

 L14844: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L14845;
    }
  goto ret0;

 L14845: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4921 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16QImode, operands)))
    {
      return 1394;  /* *addv16qi3 */
    }
  goto ret0;

 L14849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L14850;
    }
  goto ret0;

 L14850: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L14851;
    }
  goto ret0;

 L14851: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4921 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16QImode, operands)))
    {
      return 1395;  /* *subv16qi3 */
    }
  goto ret0;

 L14951: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L14952;
    }
  goto ret0;

 L14952: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L14953;
    }
  goto ret0;

 L14953: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4944 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (SS_PLUS, V16QImode, operands)))
    {
      return 1412;  /* *sse2_ssaddv16qi3 */
    }
  goto ret0;

 L14957: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L14958;
    }
  goto ret0;

 L14958: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L14959;
    }
  goto ret0;

 L14959: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4944 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (US_PLUS, V16QImode, operands)))
    {
      return 1413;  /* *sse2_usaddv16qi3 */
    }
  goto ret0;

 L14963: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L14964;
    }
  goto ret0;

 L14964: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L14965;
    }
  goto ret0;

 L14965: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4944 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (SS_MINUS, V16QImode, operands)))
    {
      return 1414;  /* *sse2_sssubv16qi3 */
    }
  goto ret0;

 L14969: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L14970;
    }
  goto ret0;

 L14970: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L14971;
    }
  goto ret0;

 L14971: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4944 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)))
    {
      return 1415;  /* *sse2_ussubv16qi3 */
    }
  goto ret0;

 L15029: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15030;
    }
  goto ret0;

 L15030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15031;
    }
  goto ret0;

 L15031: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4958 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && can_create_pseudo_p ()))
    {
      return 1425;  /* mulv16qi3 */
    }
  goto ret0;

 L15467: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15468;
    }
  goto ret0;

 L15468: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15469;
    }
  goto ret0;

 L15469: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6052 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (SMAX, V16QImode, operands)))
    {
      return 1475;  /* *sse4_1_smaxv16qi3 */
    }
  goto ret0;

 L15473: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15474;
    }
  goto ret0;

 L15474: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15475;
    }
  goto ret0;

 L15475: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6052 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (SMIN, V16QImode, operands)))
    {
      return 1476;  /* *sse4_1_sminv16qi3 */
    }
  goto ret0;

 L15527: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15528;
    }
  goto ret0;

 L15528: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15529;
    }
  goto ret0;

 L15529: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6148 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (UMAX, V16QImode, operands)))
    {
      return 1485;  /* *umaxv16qi3 */
    }
  goto ret0;

 L15533: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15534;
    }
  goto ret0;

 L15534: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15535;
    }
  goto ret0;

 L15535: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6148 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (UMIN, V16QImode, operands)))
    {
      return 1486;  /* *uminv16qi3 */
    }
  goto ret0;

 L15569: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15570;
    }
  goto L29694;

 L15570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15571;
    }
  goto L29694;

 L15571: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6205 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP
   && ix86_binary_operator_ok (EQ, V16QImode, operands)))
    {
      return 1492;  /* *sse2_eqv16qi3 */
    }
  x1 = XEXP (x0, 1);
  goto L29694;

 L15617: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15618;
    }
  goto L29694;

 L15618: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15619;
    }
  goto L29694;

 L15619: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6264 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP))
    {
      return 1500;  /* sse2_gtv16qi3 */
    }
  x1 = XEXP (x0, 1);
  goto L29694;

 L15642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16QImode)
    goto L29715;
  goto ret0;

 L29715: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15643;
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15710;
    }
  goto ret0;

 L15643: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L15644;
    }
  goto ret0;

 L15644: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15645;
    }
  goto ret0;

 L15645: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6443 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1504;  /* *andnotv16qi3 */
    }
  goto ret0;

 L15710: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15711;
    }
  goto ret0;

 L15711: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (AND, V16QImode, operands)))
    {
      return 1514;  /* *andv16qi3 */
    }
  goto ret0;

 L15715: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15716;
    }
  goto ret0;

 L15716: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15717;
    }
  goto ret0;

 L15717: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (IOR, V16QImode, operands)))
    {
      return 1515;  /* *iorv16qi3 */
    }
  goto ret0;

 L15721: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L15722;
    }
  goto ret0;

 L15722: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L15723;
    }
  goto ret0;

 L15723: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (XOR, V16QImode, operands)))
    {
      return 1516;  /* *xorv16qi3 */
    }
  goto ret0;

 L15868: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8QImode)
    goto L29717;
  goto ret0;

 L29717: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SS_TRUNCATE:
      goto L15869;
    case US_TRUNCATE:
      goto L15901;
    default:
     break;
   }
  goto ret0;

 L15869: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L15870;
    }
  goto ret0;

 L15870: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8QImode
      && GET_CODE (x2) == SS_TRUNCATE)
    goto L15871;
  goto ret0;

 L15871: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[2] = x3;
      goto L15872;
    }
  goto ret0;

 L15872: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6643 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1540;  /* sse2_packsswb */
    }
  goto ret0;

 L15901: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L15902;
    }
  goto ret0;

 L15902: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8QImode
      && GET_CODE (x2) == US_TRUNCATE)
    goto L15903;
  goto ret0;

 L15903: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[2] = x3;
      goto L15904;
    }
  goto ret0;

 L15904: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6677 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1544;  /* sse2_packuswb */
    }
  goto ret0;

 L15947: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V32QImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L15948;
  goto ret0;

 L15948: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L15949;
    }
  goto ret0;

 L15949: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L15950;
    }
  goto ret0;

 L15950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 16)
    goto L15951;
  goto ret0;

 L15951: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29719;
  goto ret0;

 L29719: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 8L:
        goto L15952;
      case 0L:
        goto L16014;
      default:
        break;
      }
  goto ret0;

 L15952: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (24)])
    goto L15953;
  goto ret0;

 L15953: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L15954;
  goto ret0;

 L15954: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (25)])
    goto L15955;
  goto ret0;

 L15955: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L15956;
  goto ret0;

 L15956: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (26)])
    goto L15957;
  goto ret0;

 L15957: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L15958;
  goto ret0;

 L15958: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (27)])
    goto L15959;
  goto ret0;

 L15959: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L15960;
  goto ret0;

 L15960: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (28)])
    goto L15961;
  goto ret0;

 L15961: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L15962;
  goto ret0;

 L15962: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (29)])
    goto L15963;
  goto ret0;

 L15963: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L15964;
  goto ret0;

 L15964: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (30)])
    goto L15965;
  goto ret0;

 L15965: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L15966;
  goto ret0;

 L15966: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (31)]
      && 
#line 6729 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1546;  /* vec_interleave_highv16qi */
    }
  goto ret0;

 L16014: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)])
    goto L16015;
  goto ret0;

 L16015: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16016;
  goto ret0;

 L16016: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (17)])
    goto L16017;
  goto ret0;

 L16017: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16018;
  goto ret0;

 L16018: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (18)])
    goto L16019;
  goto ret0;

 L16019: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16020;
  goto ret0;

 L16020: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (19)])
    goto L16021;
  goto ret0;

 L16021: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16022;
  goto ret0;

 L16022: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (20)])
    goto L16023;
  goto ret0;

 L16023: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16024;
  goto ret0;

 L16024: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (21)])
    goto L16025;
  goto ret0;

 L16025: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16026;
  goto ret0;

 L16026: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (22)])
    goto L16027;
  goto ret0;

 L16027: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16028;
  goto ret0;

 L16028: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (23)]
      && 
#line 6781 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1548;  /* vec_interleave_lowv16qi */
    }
  goto ret0;

 L16160: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == VEC_DUPLICATE)
    goto L16161;
  goto ret0;

 L16161: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L16162;
    }
  goto ret0;

 L16162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L16163;
    }
  goto ret0;

 L16163: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L16164;
    }
  goto ret0;

 L16164: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6989 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V16QImode))) && 
#line 6973 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1)))
    {
      return 1557;  /* sse4_1_pinsrb */
    }
  goto ret0;

 L16487: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16HImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L16488;
  goto ret0;

 L16488: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V16HImode
      && GET_CODE (x3) == PLUS)
    goto L16489;
  goto ret0;

 L16489: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V16HImode
      && GET_CODE (x4) == PLUS)
    goto L16490;
  goto ret0;

 L16490: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V16HImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L16491;
  goto ret0;

 L16491: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V16QImode))
    {
      operands[1] = x6;
      goto L16492;
    }
  goto ret0;

 L16492: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == V16HImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L16493;
  goto ret0;

 L16493: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V16QImode))
    {
      operands[2] = x6;
      goto L16494;
    }
  goto ret0;

 L16494: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V16QImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 16)
    goto L16495;
  goto ret0;

 L16495: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16496;
  goto ret0;

 L16496: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16497;
  goto ret0;

 L16497: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16498;
  goto ret0;

 L16498: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16499;
  goto ret0;

 L16499: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16500;
  goto ret0;

 L16500: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16501;
  goto ret0;

 L16501: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16502;
  goto ret0;

 L16502: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16503;
  goto ret0;

 L16503: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 8);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16504;
  goto ret0;

 L16504: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 9);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16505;
  goto ret0;

 L16505: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 10);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16506;
  goto ret0;

 L16506: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 11);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16507;
  goto ret0;

 L16507: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 12);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16508;
  goto ret0;

 L16508: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 13);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16509;
  goto ret0;

 L16509: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 14);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16510;
  goto ret0;

 L16510: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 15);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16511;
  goto ret0;

 L16511: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 7862 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16QImode, operands)))
    {
      return 1592;  /* *sse2_uavgv16qi3 */
    }
  goto ret0;

 L18406: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L18407;
    }
  goto ret0;

 L18407: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9350 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1651;  /* absv16qi2 */
    }
  goto ret0;

 L19338: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16QImode)
    goto L29722;
  goto ret0;

 L29722: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == GE)
    goto L19933;
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L19339;
    }
  goto ret0;

 L19933: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L19934;
    }
  goto ret0;

 L19934: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19935;
  goto ret0;

 L19935: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode)
    goto L29723;
  goto ret0;

 L29723: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ROTATE:
      goto L19936;
    case ASHIFT:
      goto L19988;
    default:
     break;
   }
  goto ret0;

 L19936: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L19937;
    }
  goto ret0;

 L19937: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L19938;
  goto ret0;

 L19938: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == ROTATERT)
    goto L19939;
  goto ret0;

 L19939: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L19940;
  goto ret0;

 L19940: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V16QImode
      && GET_CODE (x3) == NEG)
    goto L19941;
  goto ret0;

 L19941: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11212 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1787;  /* xop_vrotlv16qi3 */
    }
  goto ret0;

 L19988: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L19989;
    }
  goto ret0;

 L19989: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L19990;
  goto ret0;

 L19990: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V16QImode)
    goto L29725;
  goto ret0;

 L29725: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFTRT:
      goto L19991;
    case LSHIFTRT:
      goto L20043;
    default:
     break;
   }
  goto ret0;

 L19991: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L19992;
  goto ret0;

 L19992: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V16QImode
      && GET_CODE (x3) == NEG)
    goto L19993;
  goto ret0;

 L19993: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11335 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1791;  /* xop_shav16qi3 */
    }
  goto ret0;

 L20043: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L20044;
  goto ret0;

 L20044: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V16QImode
      && GET_CODE (x3) == NEG)
    goto L20045;
  goto ret0;

 L20045: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11354 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1795;  /* xop_shlv16qi3 */
    }
  goto ret0;

 L19339: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L19340;
    }
  goto ret0;

 L19340: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L19341;
    }
  goto ret0;

 L19341: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1749;  /* xop_pcmov_v16qi */
    }
  goto ret0;

 L19884: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L19885;
    }
  goto ret0;

 L19885: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_7_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L19886;
    }
  goto ret0;

 L19886: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11157 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1779;  /* xop_rotlv16qi3 */
    }
  goto ret0;

 L19908: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L19909;
    }
  goto ret0;

 L19909: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_7_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L19910;
    }
  goto ret0;

 L19910: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11168 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1783;  /* xop_rotrv16qi3 */
    }
  goto ret0;

 L20323: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20324;
  goto ret0;

 L20324: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L20325;
    }
  goto ret0;

 L20325: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20326;
  goto ret0;

 L20326: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11723 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1837;  /* avx2_pbroadcastv16qi */
    }
  goto ret0;

 L20132: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L20133;
    }
  goto L29695;

 L20133: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L20134;
    }
  goto L29695;

 L20134: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11488 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1807;  /* xop_maskcmpv16qi3 */
    }
  x1 = XEXP (x0, 1);
  goto L29695;

 L20156: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L20157;
    }
  goto ret0;

 L20157: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L20158;
    }
  goto ret0;

 L20158: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11502 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1811;  /* xop_maskcmp_unsv16qi3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_21 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16703;
  goto ret0;

 L16703: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16704;
  goto ret0;

 L16704: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L16705;
  goto ret0;

 L16705: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L16706;
  goto ret0;

 L16706: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16707;
  goto ret0;

 L16707: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16708;
  goto ret0;

 L16708: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16709;
  goto ret0;

 L16709: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16710;
  goto ret0;

 L16710: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L16711;
  goto ret0;

 L16711: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16712;
  goto ret0;

 L16712: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16713;
  goto ret0;

 L16713: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16714;
  goto ret0;

 L16714: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L16715;
  goto ret0;

 L16715: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16716;
  goto ret0;

 L16716: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16717;
  goto ret0;

 L16717: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16718;
  goto ret0;

 L16718: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16719;
  goto ret0;

 L16719: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L16720;
  goto ret0;

 L16720: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16721;
  goto ret0;

 L16721: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16722;
  goto ret0;

 L16722: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16723;
  goto ret0;

 L16723: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L16724;
  goto ret0;

 L16724: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L16725;
  goto ret0;

 L16725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16726;
  goto ret0;

 L16726: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L16727;
  goto ret0;

 L16727: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16728;
  goto ret0;

 L16728: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16729;
  goto ret0;

 L16729: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V16HImode))
    {
      operands[2] = x7;
      goto L16730;
    }
  goto ret0;

 L16730: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16731;
  goto ret0;

 L16731: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L16732;
  goto ret0;

 L16732: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16733;
  goto ret0;

 L16733: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16734;
  goto ret0;

 L16734: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16735;
  goto ret0;

 L16735: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16736;
  goto ret0;

 L16736: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16737;
  goto ret0;

 L16737: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16738;
  goto ret0;

 L16738: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16739;
  goto ret0;

 L16739: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16740;
  goto ret0;

 L16740: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16741;
  goto ret0;

 L16741: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16742;
  goto ret0;

 L16742: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16743;
  goto ret0;

 L16743: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16744;
  goto ret0;

 L16744: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16745;
  goto ret0;

 L16745: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L16746;
  goto ret0;

 L16746: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16747;
  goto ret0;

 L16747: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16748;
  goto ret0;

 L16748: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16749;
  goto ret0;

 L16749: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16750;
  goto ret0;

 L16750: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16751;
  goto ret0;

 L16751: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16752;
  goto ret0;

 L16752: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16753;
  goto ret0;

 L16753: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16754;
  goto ret0;

 L16754: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16755;
  goto ret0;

 L16755: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16756;
  goto ret0;

 L16756: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16757;
  goto ret0;

 L16757: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16758;
  goto ret0;

 L16758: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16759;
  goto ret0;

 L16759: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16760;
  goto ret0;

 L16760: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16761;
  goto ret0;

 L16761: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16762;
  goto ret0;

 L16762: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16763;
  goto ret0;

 L16763: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16764;
  goto ret0;

 L16764: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16765;
  goto ret0;

 L16765: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L16766;
  goto ret0;

 L16766: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16767;
  goto ret0;

 L16767: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16768;
  goto ret0;

 L16768: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16769;
  goto ret0;

 L16769: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16770;
  goto ret0;

 L16770: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L16771;
  goto ret0;

 L16771: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16772;
  goto ret0;

 L16772: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16773;
  goto ret0;

 L16773: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16774;
  goto ret0;

 L16774: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L16775;
  goto ret0;

 L16775: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16776;
  goto ret0;

 L16776: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16777;
  goto ret0;

 L16777: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16778;
  goto ret0;

 L16778: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16779;
  goto ret0;

 L16779: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L16780;
  goto ret0;

 L16780: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16781;
  goto ret0;

 L16781: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16782;
  goto ret0;

 L16782: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16783;
  goto ret0;

 L16783: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L16784;
  goto ret0;

 L16784: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L16785;
  goto ret0;

 L16785: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16786;
  goto ret0;

 L16786: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16787;
  goto ret0;

 L16787: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16788;
  goto ret0;

 L16788: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16789;
  goto ret0;

 L16789: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L16790;
  goto ret0;

 L16790: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16791;
  goto ret0;

 L16791: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16792;
  goto ret0;

 L16792: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16793;
  goto ret0;

 L16793: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L16794;
  goto ret0;

 L16794: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16795;
  goto ret0;

 L16795: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16796;
  goto ret0;

 L16796: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16797;
  goto ret0;

 L16797: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16798;
  goto ret0;

 L16798: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L16799;
  goto ret0;

 L16799: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16800;
  goto ret0;

 L16800: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L16801;
  goto ret0;

 L16801: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16802;
  goto ret0;

 L16802: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 8173 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1611;  /* avx2_phaddwv16hi3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_22 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17129;
  goto ret0;

 L17129: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17130;
  goto ret0;

 L17130: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L17131;
  goto ret0;

 L17131: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17132;
  goto ret0;

 L17132: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17133;
  goto ret0;

 L17133: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17134;
  goto ret0;

 L17134: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17135;
  goto ret0;

 L17135: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17136;
  goto ret0;

 L17136: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L17137;
  goto ret0;

 L17137: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17138;
  goto ret0;

 L17138: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17139;
  goto ret0;

 L17139: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17140;
  goto ret0;

 L17140: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L17141;
  goto ret0;

 L17141: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17142;
  goto ret0;

 L17142: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17143;
  goto ret0;

 L17143: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17144;
  goto ret0;

 L17144: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17145;
  goto ret0;

 L17145: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L17146;
  goto ret0;

 L17146: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17147;
  goto ret0;

 L17147: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17148;
  goto ret0;

 L17148: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17149;
  goto ret0;

 L17149: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L17150;
  goto ret0;

 L17150: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17151;
  goto ret0;

 L17151: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17152;
  goto ret0;

 L17152: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17153;
  goto ret0;

 L17153: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17154;
  goto ret0;

 L17154: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17155;
  goto ret0;

 L17155: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V16HImode))
    {
      operands[2] = x7;
      goto L17156;
    }
  goto ret0;

 L17156: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17157;
  goto ret0;

 L17157: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17158;
  goto ret0;

 L17158: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17159;
  goto ret0;

 L17159: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17160;
  goto ret0;

 L17160: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17161;
  goto ret0;

 L17161: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17162;
  goto ret0;

 L17162: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17163;
  goto ret0;

 L17163: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17164;
  goto ret0;

 L17164: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17165;
  goto ret0;

 L17165: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17166;
  goto ret0;

 L17166: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17167;
  goto ret0;

 L17167: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17168;
  goto ret0;

 L17168: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17169;
  goto ret0;

 L17169: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17170;
  goto ret0;

 L17170: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17171;
  goto ret0;

 L17171: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17172;
  goto ret0;

 L17172: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17173;
  goto ret0;

 L17173: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17174;
  goto ret0;

 L17174: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17175;
  goto ret0;

 L17175: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17176;
  goto ret0;

 L17176: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17177;
  goto ret0;

 L17177: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17178;
  goto ret0;

 L17178: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17179;
  goto ret0;

 L17179: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17180;
  goto ret0;

 L17180: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17181;
  goto ret0;

 L17181: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17182;
  goto ret0;

 L17182: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17183;
  goto ret0;

 L17183: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17184;
  goto ret0;

 L17184: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17185;
  goto ret0;

 L17185: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17186;
  goto ret0;

 L17186: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17187;
  goto ret0;

 L17187: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17188;
  goto ret0;

 L17188: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17189;
  goto ret0;

 L17189: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17190;
  goto ret0;

 L17190: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17191;
  goto ret0;

 L17191: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17192;
  goto ret0;

 L17192: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17193;
  goto ret0;

 L17193: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17194;
  goto ret0;

 L17194: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17195;
  goto ret0;

 L17195: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17196;
  goto ret0;

 L17196: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L17197;
  goto ret0;

 L17197: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17198;
  goto ret0;

 L17198: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17199;
  goto ret0;

 L17199: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17200;
  goto ret0;

 L17200: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L17201;
  goto ret0;

 L17201: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17202;
  goto ret0;

 L17202: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17203;
  goto ret0;

 L17203: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17204;
  goto ret0;

 L17204: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17205;
  goto ret0;

 L17205: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L17206;
  goto ret0;

 L17206: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17207;
  goto ret0;

 L17207: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17208;
  goto ret0;

 L17208: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17209;
  goto ret0;

 L17209: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L17210;
  goto ret0;

 L17210: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17211;
  goto ret0;

 L17211: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17212;
  goto ret0;

 L17212: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17213;
  goto ret0;

 L17213: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17214;
  goto ret0;

 L17214: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17215;
  goto ret0;

 L17215: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L17216;
  goto ret0;

 L17216: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17217;
  goto ret0;

 L17217: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17218;
  goto ret0;

 L17218: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17219;
  goto ret0;

 L17219: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L17220;
  goto ret0;

 L17220: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17221;
  goto ret0;

 L17221: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17222;
  goto ret0;

 L17222: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17223;
  goto ret0;

 L17223: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17224;
  goto ret0;

 L17224: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L17225;
  goto ret0;

 L17225: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17226;
  goto ret0;

 L17226: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17227;
  goto ret0;

 L17227: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17228;
  goto ret0;

 L17228: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 8425 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1617;  /* avx2_phaddswv16hi3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_23 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17412;
  goto ret0;

 L17412: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17413;
  goto ret0;

 L17413: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L17414;
  goto ret0;

 L17414: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17415;
  goto ret0;

 L17415: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17416;
  goto ret0;

 L17416: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17417;
  goto ret0;

 L17417: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17418;
  goto ret0;

 L17418: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17419;
  goto ret0;

 L17419: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L17420;
  goto ret0;

 L17420: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17421;
  goto ret0;

 L17421: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17422;
  goto ret0;

 L17422: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17423;
  goto ret0;

 L17423: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L17424;
  goto ret0;

 L17424: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17425;
  goto ret0;

 L17425: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17426;
  goto ret0;

 L17426: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17427;
  goto ret0;

 L17427: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17428;
  goto ret0;

 L17428: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L17429;
  goto ret0;

 L17429: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17430;
  goto ret0;

 L17430: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17431;
  goto ret0;

 L17431: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17432;
  goto ret0;

 L17432: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L17433;
  goto ret0;

 L17433: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17434;
  goto ret0;

 L17434: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17435;
  goto ret0;

 L17435: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17436;
  goto ret0;

 L17436: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17437;
  goto ret0;

 L17437: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17438;
  goto ret0;

 L17438: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V16HImode))
    {
      operands[2] = x7;
      goto L17439;
    }
  goto ret0;

 L17439: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17440;
  goto ret0;

 L17440: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17441;
  goto ret0;

 L17441: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17442;
  goto ret0;

 L17442: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17443;
  goto ret0;

 L17443: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17444;
  goto ret0;

 L17444: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17445;
  goto ret0;

 L17445: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17446;
  goto ret0;

 L17446: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17447;
  goto ret0;

 L17447: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17448;
  goto ret0;

 L17448: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17449;
  goto ret0;

 L17449: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17450;
  goto ret0;

 L17450: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17451;
  goto ret0;

 L17451: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17452;
  goto ret0;

 L17452: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17453;
  goto ret0;

 L17453: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17454;
  goto ret0;

 L17454: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17455;
  goto ret0;

 L17455: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17456;
  goto ret0;

 L17456: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17457;
  goto ret0;

 L17457: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17458;
  goto ret0;

 L17458: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17459;
  goto ret0;

 L17459: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17460;
  goto ret0;

 L17460: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17461;
  goto ret0;

 L17461: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17462;
  goto ret0;

 L17462: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17463;
  goto ret0;

 L17463: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17464;
  goto ret0;

 L17464: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17465;
  goto ret0;

 L17465: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17466;
  goto ret0;

 L17466: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17467;
  goto ret0;

 L17467: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17468;
  goto ret0;

 L17468: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17469;
  goto ret0;

 L17469: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17470;
  goto ret0;

 L17470: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17471;
  goto ret0;

 L17471: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17472;
  goto ret0;

 L17472: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17473;
  goto ret0;

 L17473: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17474;
  goto ret0;

 L17474: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17475;
  goto ret0;

 L17475: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17476;
  goto ret0;

 L17476: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17477;
  goto ret0;

 L17477: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17478;
  goto ret0;

 L17478: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17479;
  goto ret0;

 L17479: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L17480;
  goto ret0;

 L17480: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17481;
  goto ret0;

 L17481: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17482;
  goto ret0;

 L17482: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17483;
  goto ret0;

 L17483: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L17484;
  goto ret0;

 L17484: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17485;
  goto ret0;

 L17485: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17486;
  goto ret0;

 L17486: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17487;
  goto ret0;

 L17487: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17488;
  goto ret0;

 L17488: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L17489;
  goto ret0;

 L17489: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17490;
  goto ret0;

 L17490: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17491;
  goto ret0;

 L17491: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17492;
  goto ret0;

 L17492: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L17493;
  goto ret0;

 L17493: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17494;
  goto ret0;

 L17494: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17495;
  goto ret0;

 L17495: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17496;
  goto ret0;

 L17496: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17497;
  goto ret0;

 L17497: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17498;
  goto ret0;

 L17498: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L17499;
  goto ret0;

 L17499: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17500;
  goto ret0;

 L17500: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17501;
  goto ret0;

 L17501: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17502;
  goto ret0;

 L17502: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L17503;
  goto ret0;

 L17503: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17504;
  goto ret0;

 L17504: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17505;
  goto ret0;

 L17505: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17506;
  goto ret0;

 L17506: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17507;
  goto ret0;

 L17507: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L17508;
  goto ret0;

 L17508: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17509;
  goto ret0;

 L17509: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17510;
  goto ret0;

 L17510: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17511;
  goto ret0;

 L17511: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 8579 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1620;  /* avx2_phsubwv16hi3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_24 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17838;
  goto ret0;

 L17838: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17839;
  goto ret0;

 L17839: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L17840;
  goto ret0;

 L17840: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17841;
  goto ret0;

 L17841: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17842;
  goto ret0;

 L17842: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17843;
  goto ret0;

 L17843: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17844;
  goto ret0;

 L17844: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17845;
  goto ret0;

 L17845: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L17846;
  goto ret0;

 L17846: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17847;
  goto ret0;

 L17847: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17848;
  goto ret0;

 L17848: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17849;
  goto ret0;

 L17849: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L17850;
  goto ret0;

 L17850: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17851;
  goto ret0;

 L17851: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17852;
  goto ret0;

 L17852: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17853;
  goto ret0;

 L17853: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17854;
  goto ret0;

 L17854: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L17855;
  goto ret0;

 L17855: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17856;
  goto ret0;

 L17856: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17857;
  goto ret0;

 L17857: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17858;
  goto ret0;

 L17858: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L17859;
  goto ret0;

 L17859: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17860;
  goto ret0;

 L17860: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17861;
  goto ret0;

 L17861: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17862;
  goto ret0;

 L17862: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17863;
  goto ret0;

 L17863: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17864;
  goto ret0;

 L17864: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V16HImode))
    {
      operands[2] = x7;
      goto L17865;
    }
  goto ret0;

 L17865: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17866;
  goto ret0;

 L17866: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17867;
  goto ret0;

 L17867: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17868;
  goto ret0;

 L17868: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17869;
  goto ret0;

 L17869: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17870;
  goto ret0;

 L17870: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17871;
  goto ret0;

 L17871: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17872;
  goto ret0;

 L17872: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17873;
  goto ret0;

 L17873: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17874;
  goto ret0;

 L17874: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17875;
  goto ret0;

 L17875: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17876;
  goto ret0;

 L17876: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17877;
  goto ret0;

 L17877: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17878;
  goto ret0;

 L17878: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17879;
  goto ret0;

 L17879: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17880;
  goto ret0;

 L17880: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17881;
  goto ret0;

 L17881: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17882;
  goto ret0;

 L17882: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17883;
  goto ret0;

 L17883: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17884;
  goto ret0;

 L17884: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17885;
  goto ret0;

 L17885: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17886;
  goto ret0;

 L17886: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17887;
  goto ret0;

 L17887: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17888;
  goto ret0;

 L17888: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17889;
  goto ret0;

 L17889: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17890;
  goto ret0;

 L17890: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17891;
  goto ret0;

 L17891: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17892;
  goto ret0;

 L17892: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17893;
  goto ret0;

 L17893: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17894;
  goto ret0;

 L17894: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17895;
  goto ret0;

 L17895: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17896;
  goto ret0;

 L17896: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17897;
  goto ret0;

 L17897: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17898;
  goto ret0;

 L17898: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17899;
  goto ret0;

 L17899: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17900;
  goto ret0;

 L17900: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17901;
  goto ret0;

 L17901: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17902;
  goto ret0;

 L17902: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17903;
  goto ret0;

 L17903: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17904;
  goto ret0;

 L17904: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17905;
  goto ret0;

 L17905: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L17906;
  goto ret0;

 L17906: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17907;
  goto ret0;

 L17907: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17908;
  goto ret0;

 L17908: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17909;
  goto ret0;

 L17909: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L17910;
  goto ret0;

 L17910: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17911;
  goto ret0;

 L17911: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17912;
  goto ret0;

 L17912: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17913;
  goto ret0;

 L17913: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17914;
  goto ret0;

 L17914: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L17915;
  goto ret0;

 L17915: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17916;
  goto ret0;

 L17916: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17917;
  goto ret0;

 L17917: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17918;
  goto ret0;

 L17918: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L17919;
  goto ret0;

 L17919: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17920;
  goto ret0;

 L17920: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17921;
  goto ret0;

 L17921: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17922;
  goto ret0;

 L17922: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17923;
  goto ret0;

 L17923: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17924;
  goto ret0;

 L17924: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L17925;
  goto ret0;

 L17925: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17926;
  goto ret0;

 L17926: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17927;
  goto ret0;

 L17927: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17928;
  goto ret0;

 L17928: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L17929;
  goto ret0;

 L17929: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17930;
  goto ret0;

 L17930: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17931;
  goto ret0;

 L17931: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17932;
  goto ret0;

 L17932: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17933;
  goto ret0;

 L17933: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L17934;
  goto ret0;

 L17934: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17935;
  goto ret0;

 L17935: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L17936;
  goto ret0;

 L17936: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17937;
  goto ret0;

 L17937: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 8832 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1626;  /* avx2_phsubswv16hi3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_25 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case PLUS:
      goto L16649;
    case SS_PLUS:
      goto L17075;
    case MINUS:
      goto L17358;
    case SS_MINUS:
      goto L17784;
    default:
     break;
   }
  goto ret0;

 L16649: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16650;
  goto ret0;

 L16650: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (register_operand (x7, V16HImode))
    {
      operands[1] = x7;
      goto L16651;
    }
  goto ret0;

 L16651: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16652;
  goto ret0;

 L16652: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L16653;
  goto ret0;

 L16653: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16654;
  goto ret0;

 L16654: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16655;
  goto ret0;

 L16655: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16656;
  goto ret0;

 L16656: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16657;
  goto ret0;

 L16657: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16658;
  goto ret0;

 L16658: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16659;
  goto ret0;

 L16659: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16660;
  goto ret0;

 L16660: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16661;
  goto ret0;

 L16661: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16662;
  goto ret0;

 L16662: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16663;
  goto ret0;

 L16663: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16664;
  goto ret0;

 L16664: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16665;
  goto ret0;

 L16665: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16666;
  goto ret0;

 L16666: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L16667;
  goto ret0;

 L16667: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16668;
  goto ret0;

 L16668: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16669;
  goto ret0;

 L16669: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16670;
  goto ret0;

 L16670: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16671;
  goto ret0;

 L16671: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16672;
  goto ret0;

 L16672: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16673;
  goto ret0;

 L16673: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16674;
  goto ret0;

 L16674: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16675;
  goto ret0;

 L16675: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16676;
  goto ret0;

 L16676: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16677;
  goto ret0;

 L16677: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16678;
  goto ret0;

 L16678: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16679;
  goto ret0;

 L16679: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16680;
  goto ret0;

 L16680: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16681;
  goto ret0;

 L16681: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16682;
  goto ret0;

 L16682: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16683;
  goto ret0;

 L16683: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16684;
  goto ret0;

 L16684: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16685;
  goto ret0;

 L16685: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16686;
  goto ret0;

 L16686: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L16687;
  goto ret0;

 L16687: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16688;
  goto ret0;

 L16688: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16689;
  goto ret0;

 L16689: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16690;
  goto ret0;

 L16690: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16691;
  goto ret0;

 L16691: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L16692;
  goto ret0;

 L16692: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16693;
  goto ret0;

 L16693: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16694;
  goto ret0;

 L16694: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16695;
  goto ret0;

 L16695: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L16696;
  goto ret0;

 L16696: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == PLUS)
    goto L16697;
  goto ret0;

 L16697: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16698;
  goto ret0;

 L16698: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L16699;
  goto ret0;

 L16699: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L16700;
  goto ret0;

 L16700: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L16701;
  goto ret0;

 L16701: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L16702;
  goto ret0;

 L16702: ATTRIBUTE_UNUSED_LABEL
  return recog_21 (x0, insn, pnum_clobbers);

 L17075: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17076;
  goto ret0;

 L17076: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (register_operand (x7, V16HImode))
    {
      operands[1] = x7;
      goto L17077;
    }
  goto ret0;

 L17077: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17078;
  goto ret0;

 L17078: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17079;
  goto ret0;

 L17079: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17080;
  goto ret0;

 L17080: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17081;
  goto ret0;

 L17081: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17082;
  goto ret0;

 L17082: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17083;
  goto ret0;

 L17083: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17084;
  goto ret0;

 L17084: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17085;
  goto ret0;

 L17085: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17086;
  goto ret0;

 L17086: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17087;
  goto ret0;

 L17087: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17088;
  goto ret0;

 L17088: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17089;
  goto ret0;

 L17089: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17090;
  goto ret0;

 L17090: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17091;
  goto ret0;

 L17091: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17092;
  goto ret0;

 L17092: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17093;
  goto ret0;

 L17093: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17094;
  goto ret0;

 L17094: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17095;
  goto ret0;

 L17095: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17096;
  goto ret0;

 L17096: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17097;
  goto ret0;

 L17097: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17098;
  goto ret0;

 L17098: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17099;
  goto ret0;

 L17099: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17100;
  goto ret0;

 L17100: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17101;
  goto ret0;

 L17101: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17102;
  goto ret0;

 L17102: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17103;
  goto ret0;

 L17103: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17104;
  goto ret0;

 L17104: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17105;
  goto ret0;

 L17105: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17106;
  goto ret0;

 L17106: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17107;
  goto ret0;

 L17107: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17108;
  goto ret0;

 L17108: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17109;
  goto ret0;

 L17109: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17110;
  goto ret0;

 L17110: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17111;
  goto ret0;

 L17111: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17112;
  goto ret0;

 L17112: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17113;
  goto ret0;

 L17113: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17114;
  goto ret0;

 L17114: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17115;
  goto ret0;

 L17115: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17116;
  goto ret0;

 L17116: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17117;
  goto ret0;

 L17117: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L17118;
  goto ret0;

 L17118: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17119;
  goto ret0;

 L17119: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17120;
  goto ret0;

 L17120: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17121;
  goto ret0;

 L17121: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L17122;
  goto ret0;

 L17122: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_PLUS)
    goto L17123;
  goto ret0;

 L17123: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17124;
  goto ret0;

 L17124: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17125;
  goto ret0;

 L17125: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17126;
  goto ret0;

 L17126: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L17127;
  goto ret0;

 L17127: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17128;
  goto ret0;

 L17128: ATTRIBUTE_UNUSED_LABEL
  return recog_22 (x0, insn, pnum_clobbers);

 L17358: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17359;
  goto ret0;

 L17359: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (register_operand (x7, V16HImode))
    {
      operands[1] = x7;
      goto L17360;
    }
  goto ret0;

 L17360: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17361;
  goto ret0;

 L17361: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17362;
  goto ret0;

 L17362: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17363;
  goto ret0;

 L17363: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17364;
  goto ret0;

 L17364: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17365;
  goto ret0;

 L17365: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17366;
  goto ret0;

 L17366: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17367;
  goto ret0;

 L17367: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17368;
  goto ret0;

 L17368: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17369;
  goto ret0;

 L17369: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17370;
  goto ret0;

 L17370: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17371;
  goto ret0;

 L17371: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17372;
  goto ret0;

 L17372: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17373;
  goto ret0;

 L17373: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17374;
  goto ret0;

 L17374: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17375;
  goto ret0;

 L17375: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17376;
  goto ret0;

 L17376: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17377;
  goto ret0;

 L17377: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17378;
  goto ret0;

 L17378: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17379;
  goto ret0;

 L17379: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17380;
  goto ret0;

 L17380: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17381;
  goto ret0;

 L17381: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17382;
  goto ret0;

 L17382: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17383;
  goto ret0;

 L17383: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17384;
  goto ret0;

 L17384: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17385;
  goto ret0;

 L17385: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17386;
  goto ret0;

 L17386: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17387;
  goto ret0;

 L17387: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17388;
  goto ret0;

 L17388: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17389;
  goto ret0;

 L17389: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17390;
  goto ret0;

 L17390: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17391;
  goto ret0;

 L17391: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17392;
  goto ret0;

 L17392: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17393;
  goto ret0;

 L17393: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17394;
  goto ret0;

 L17394: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17395;
  goto ret0;

 L17395: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17396;
  goto ret0;

 L17396: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17397;
  goto ret0;

 L17397: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17398;
  goto ret0;

 L17398: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17399;
  goto ret0;

 L17399: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17400;
  goto ret0;

 L17400: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L17401;
  goto ret0;

 L17401: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17402;
  goto ret0;

 L17402: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17403;
  goto ret0;

 L17403: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17404;
  goto ret0;

 L17404: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L17405;
  goto ret0;

 L17405: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == MINUS)
    goto L17406;
  goto ret0;

 L17406: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17407;
  goto ret0;

 L17407: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17408;
  goto ret0;

 L17408: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17409;
  goto ret0;

 L17409: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L17410;
  goto ret0;

 L17410: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17411;
  goto ret0;

 L17411: ATTRIBUTE_UNUSED_LABEL
  return recog_23 (x0, insn, pnum_clobbers);

 L17784: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17785;
  goto ret0;

 L17785: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (register_operand (x7, V16HImode))
    {
      operands[1] = x7;
      goto L17786;
    }
  goto ret0;

 L17786: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17787;
  goto ret0;

 L17787: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17788;
  goto ret0;

 L17788: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17789;
  goto ret0;

 L17789: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17790;
  goto ret0;

 L17790: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17791;
  goto ret0;

 L17791: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17792;
  goto ret0;

 L17792: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17793;
  goto ret0;

 L17793: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17794;
  goto ret0;

 L17794: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17795;
  goto ret0;

 L17795: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17796;
  goto ret0;

 L17796: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17797;
  goto ret0;

 L17797: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17798;
  goto ret0;

 L17798: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17799;
  goto ret0;

 L17799: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17800;
  goto ret0;

 L17800: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17801;
  goto ret0;

 L17801: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17802;
  goto ret0;

 L17802: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17803;
  goto ret0;

 L17803: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17804;
  goto ret0;

 L17804: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17805;
  goto ret0;

 L17805: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17806;
  goto ret0;

 L17806: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17807;
  goto ret0;

 L17807: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17808;
  goto ret0;

 L17808: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17809;
  goto ret0;

 L17809: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17810;
  goto ret0;

 L17810: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17811;
  goto ret0;

 L17811: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17812;
  goto ret0;

 L17812: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17813;
  goto ret0;

 L17813: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17814;
  goto ret0;

 L17814: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17815;
  goto ret0;

 L17815: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17816;
  goto ret0;

 L17816: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17817;
  goto ret0;

 L17817: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17818;
  goto ret0;

 L17818: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17819;
  goto ret0;

 L17819: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17820;
  goto ret0;

 L17820: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17821;
  goto ret0;

 L17821: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L17822;
  goto ret0;

 L17822: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17823;
  goto ret0;

 L17823: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17824;
  goto ret0;

 L17824: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17825;
  goto ret0;

 L17825: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17826;
  goto ret0;

 L17826: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L17827;
  goto ret0;

 L17827: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17828;
  goto ret0;

 L17828: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17829;
  goto ret0;

 L17829: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17830;
  goto ret0;

 L17830: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L17831;
  goto ret0;

 L17831: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == SS_MINUS)
    goto L17832;
  goto ret0;

 L17832: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17833;
  goto ret0;

 L17833: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[1]))
    goto L17834;
  goto ret0;

 L17834: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) == PARALLEL
      && XVECLEN (x7, 0) == 1)
    goto L17835;
  goto ret0;

 L17835: ATTRIBUTE_UNUSED_LABEL
  x8 = XVECEXP (x7, 0, 0);
  if (x8 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L17836;
  goto ret0;

 L17836: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == VEC_SELECT)
    goto L17837;
  goto ret0;

 L17837: ATTRIBUTE_UNUSED_LABEL
  return recog_24 (x0, insn, pnum_clobbers);
 ret0:
  return -1;
}

static int
recog_26 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L14855;
    case MINUS:
      goto L14861;
    case SS_PLUS:
      goto L14975;
    case US_PLUS:
      goto L14981;
    case SS_MINUS:
      goto L14987;
    case US_MINUS:
      goto L14993;
    case MULT:
      goto L15035;
    case TRUNCATE:
      goto L15047;
    case ASHIFTRT:
      goto L15275;
    case ASHIFT:
      goto L15299;
    case LSHIFTRT:
      goto L15305;
    case SMAX:
      goto L15419;
    case SMIN:
      goto L15425;
    case UMAX:
      goto L15431;
    case UMIN:
      goto L15437;
    case EQ:
      goto L15545;
    case GT:
      goto L15599;
    case AND:
      goto L15649;
    case IOR:
      goto L15733;
    case XOR:
      goto L15739;
    case VEC_CONCAT:
      goto L15876;
    case VEC_SELECT:
      goto L16032;
    case UNSPEC:
      goto L29756;
    case ABS:
      goto L18411;
    case VEC_MERGE:
      goto L18642;
    case SIGN_EXTEND:
      goto L18668;
    case ZERO_EXTEND:
      goto L18673;
    case IF_THEN_ELSE:
      goto L19345;
    case VEC_DUPLICATE:
      goto L20330;
    default:
     break;
   }
  goto ret0;

 L14855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L14856;
    }
  goto ret0;

 L14856: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L14857;
    }
  goto ret0;

 L14857: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && (TARGET_AVX2)))
    {
      return 1396;  /* *addv16hi3 */
    }
  goto ret0;

 L14861: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L14862;
    }
  goto ret0;

 L14862: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L14863;
    }
  goto ret0;

 L14863: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16HImode, operands)) && (TARGET_AVX2)))
    {
      return 1397;  /* *subv16hi3 */
    }
  goto ret0;

 L14975: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16HImode)
    goto L29758;
  goto ret0;

 L29758: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == MULT)
    goto L18064;
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L14976;
    }
  goto ret0;

 L18064: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V16HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L18065;
  goto ret0;

 L18065: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V16QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18066;
  goto ret0;

 L18066: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V32QImode))
    {
      operands[1] = x5;
      goto L18067;
    }
  goto ret0;

 L18067: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 16)
    goto L18068;
  goto ret0;

 L18068: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18069;
  goto ret0;

 L18069: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18070;
  goto ret0;

 L18070: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18071;
  goto ret0;

 L18071: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18072;
  goto ret0;

 L18072: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L18073;
  goto ret0;

 L18073: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L18074;
  goto ret0;

 L18074: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L18075;
  goto ret0;

 L18075: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L18076;
  goto ret0;

 L18076: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 8);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (16)])
    goto L18077;
  goto ret0;

 L18077: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 9);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (18)])
    goto L18078;
  goto ret0;

 L18078: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 10);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (20)])
    goto L18079;
  goto ret0;

 L18079: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 11);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (22)])
    goto L18080;
  goto ret0;

 L18080: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 12);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (24)])
    goto L18081;
  goto ret0;

 L18081: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 13);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (26)])
    goto L18082;
  goto ret0;

 L18082: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 14);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (28)])
    goto L18083;
  goto ret0;

 L18083: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 15);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (30)])
    goto L18084;
  goto ret0;

 L18084: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V16HImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L18085;
  goto ret0;

 L18085: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V16QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18086;
  goto ret0;

 L18086: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V32QImode))
    {
      operands[2] = x5;
      goto L18087;
    }
  goto ret0;

 L18087: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 16)
    goto L18088;
  goto ret0;

 L18088: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18089;
  goto ret0;

 L18089: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18090;
  goto ret0;

 L18090: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18091;
  goto ret0;

 L18091: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18092;
  goto ret0;

 L18092: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L18093;
  goto ret0;

 L18093: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L18094;
  goto ret0;

 L18094: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L18095;
  goto ret0;

 L18095: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L18096;
  goto ret0;

 L18096: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 8);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (16)])
    goto L18097;
  goto ret0;

 L18097: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 9);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (18)])
    goto L18098;
  goto ret0;

 L18098: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 10);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (20)])
    goto L18099;
  goto ret0;

 L18099: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 11);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (22)])
    goto L18100;
  goto ret0;

 L18100: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 12);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (24)])
    goto L18101;
  goto ret0;

 L18101: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 13);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (26)])
    goto L18102;
  goto ret0;

 L18102: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 14);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (28)])
    goto L18103;
  goto ret0;

 L18103: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 15);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (30)])
    goto L18104;
  goto ret0;

 L18104: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16HImode
      && GET_CODE (x2) == MULT)
    goto L18105;
  goto ret0;

 L18105: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V16HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L18106;
  goto ret0;

 L18106: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V16QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18107;
  goto ret0;

 L18107: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L18108;
  goto ret0;

 L18108: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 16)
    goto L18109;
  goto ret0;

 L18109: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18110;
  goto ret0;

 L18110: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18111;
  goto ret0;

 L18111: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18112;
  goto ret0;

 L18112: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L18113;
  goto ret0;

 L18113: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L18114;
  goto ret0;

 L18114: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L18115;
  goto ret0;

 L18115: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L18116;
  goto ret0;

 L18116: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L18117;
  goto ret0;

 L18117: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 8);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (17)])
    goto L18118;
  goto ret0;

 L18118: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 9);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (19)])
    goto L18119;
  goto ret0;

 L18119: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 10);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (21)])
    goto L18120;
  goto ret0;

 L18120: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 11);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (23)])
    goto L18121;
  goto ret0;

 L18121: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 12);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (25)])
    goto L18122;
  goto ret0;

 L18122: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 13);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (27)])
    goto L18123;
  goto ret0;

 L18123: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 14);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (29)])
    goto L18124;
  goto ret0;

 L18124: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 15);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (31)])
    goto L18125;
  goto ret0;

 L18125: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V16HImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L18126;
  goto ret0;

 L18126: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V16QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18127;
  goto ret0;

 L18127: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L18128;
  goto ret0;

 L18128: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 16)
    goto L18129;
  goto ret0;

 L18129: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18130;
  goto ret0;

 L18130: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18131;
  goto ret0;

 L18131: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18132;
  goto ret0;

 L18132: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L18133;
  goto ret0;

 L18133: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L18134;
  goto ret0;

 L18134: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L18135;
  goto ret0;

 L18135: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L18136;
  goto ret0;

 L18136: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L18137;
  goto ret0;

 L18137: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 8);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (17)])
    goto L18138;
  goto ret0;

 L18138: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 9);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (19)])
    goto L18139;
  goto ret0;

 L18139: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 10);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (21)])
    goto L18140;
  goto ret0;

 L18140: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 11);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (23)])
    goto L18141;
  goto ret0;

 L18141: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 12);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (25)])
    goto L18142;
  goto ret0;

 L18142: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 13);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (27)])
    goto L18143;
  goto ret0;

 L18143: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 14);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (29)])
    goto L18144;
  goto ret0;

 L18144: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 15);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (31)]
      && 
#line 8996 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1629;  /* avx2_pmaddubsw256 */
    }
  goto ret0;

 L14976: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L14977;
    }
  goto ret0;

 L14977: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (SS_PLUS, V16HImode, operands)) && (TARGET_AVX2)))
    {
      return 1416;  /* *avx2_ssaddv16hi3 */
    }
  goto ret0;

 L14981: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L14982;
    }
  goto ret0;

 L14982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L14983;
    }
  goto ret0;

 L14983: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (US_PLUS, V16HImode, operands)) && (TARGET_AVX2)))
    {
      return 1417;  /* *avx2_usaddv16hi3 */
    }
  goto ret0;

 L14987: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L14988;
    }
  goto ret0;

 L14988: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L14989;
    }
  goto ret0;

 L14989: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (SS_MINUS, V16HImode, operands)) && (TARGET_AVX2)))
    {
      return 1418;  /* *avx2_sssubv16hi3 */
    }
  goto ret0;

 L14993: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L14994;
    }
  goto ret0;

 L14994: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L14995;
    }
  goto ret0;

 L14995: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) && (TARGET_AVX2)))
    {
      return 1419;  /* *avx2_ussubv16hi3 */
    }
  goto ret0;

 L15035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15036;
    }
  goto ret0;

 L15036: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15037;
    }
  goto ret0;

 L15037: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5032 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V16HImode, operands)) && 
#line 174 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1426;  /* *mulv16hi3 */
    }
  goto ret0;

 L15047: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16SImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L15048;
  goto ret0;

 L15048: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V16SImode)
    goto L29759;
  goto ret0;

 L29759: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case MULT:
      goto L15049;
    case PLUS:
      goto L16517;
    default:
     break;
   }
  goto ret0;

 L15049: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V16SImode)
    goto L29761;
  goto ret0;

 L29761: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case SIGN_EXTEND:
      goto L15050;
    case ZERO_EXTEND:
      goto L15060;
    default:
     break;
   }
  goto ret0;

 L15050: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16HImode))
    {
      operands[1] = x5;
      goto L15051;
    }
  goto ret0;

 L15051: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V16SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L15052;
  goto ret0;

 L15052: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16HImode))
    {
      operands[2] = x5;
      goto L15053;
    }
  goto ret0;

 L15053: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)]
      && (
#line 5065 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V16HImode, operands)) && 
#line 174 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1428;  /* *smulv16hi3_highpart */
    }
  goto ret0;

 L15060: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16HImode))
    {
      operands[1] = x5;
      goto L15061;
    }
  goto ret0;

 L15061: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V16SImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L15062;
  goto ret0;

 L15062: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16HImode))
    {
      operands[2] = x5;
      goto L15063;
    }
  goto ret0;

 L15063: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)]
      && (
#line 5065 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V16HImode, operands)) && 
#line 174 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1429;  /* *umulv16hi3_highpart */
    }
  goto ret0;

 L16517: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V16SImode)
    goto L29763;
  goto ret0;

 L29763: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case PLUS:
      goto L16518;
    case LSHIFTRT:
      goto L18241;
    default:
     break;
   }
  goto ret0;

 L16518: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V16SImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L16519;
  goto ret0;

 L16519: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V16HImode))
    {
      operands[1] = x6;
      goto L16520;
    }
  goto ret0;

 L16520: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == V16SImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L16521;
  goto ret0;

 L16521: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V16HImode))
    {
      operands[2] = x6;
      goto L16522;
    }
  goto ret0;

 L16522: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V16HImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 16)
    goto L16523;
  goto ret0;

 L16523: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16524;
  goto ret0;

 L16524: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16525;
  goto ret0;

 L16525: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16526;
  goto ret0;

 L16526: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16527;
  goto ret0;

 L16527: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16528;
  goto ret0;

 L16528: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16529;
  goto ret0;

 L16529: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16530;
  goto ret0;

 L16530: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16531;
  goto ret0;

 L16531: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 8);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16532;
  goto ret0;

 L16532: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 9);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16533;
  goto ret0;

 L16533: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 10);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16534;
  goto ret0;

 L16534: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 11);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16535;
  goto ret0;

 L16535: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 12);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16536;
  goto ret0;

 L16536: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 13);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16537;
  goto ret0;

 L16537: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 14);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16538;
  goto ret0;

 L16538: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 15);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16539;
  goto ret0;

 L16539: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 7931 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (PLUS, V16HImode, operands)))
    {
      return 1593;  /* *avx2_uavgv16hi3 */
    }
  goto ret0;

 L18241: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V16SImode
      && GET_CODE (x5) == MULT)
    goto L18242;
  goto ret0;

 L18242: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == V16SImode
      && GET_CODE (x6) == SIGN_EXTEND)
    goto L18243;
  goto ret0;

 L18243: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V16HImode))
    {
      operands[1] = x7;
      goto L18244;
    }
  goto ret0;

 L18244: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == V16SImode
      && GET_CODE (x6) == SIGN_EXTEND)
    goto L18245;
  goto ret0;

 L18245: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V16HImode))
    {
      operands[2] = x7;
      goto L18246;
    }
  goto ret0;

 L18246: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L18247;
  goto ret0;

 L18247: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V16HImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 16)
    goto L18248;
  goto ret0;

 L18248: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18249;
  goto ret0;

 L18249: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18250;
  goto ret0;

 L18250: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18251;
  goto ret0;

 L18251: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18252;
  goto ret0;

 L18252: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18253;
  goto ret0;

 L18253: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18254;
  goto ret0;

 L18254: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18255;
  goto ret0;

 L18255: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18256;
  goto ret0;

 L18256: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 8);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18257;
  goto ret0;

 L18257: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 9);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18258;
  goto ret0;

 L18258: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 10);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18259;
  goto ret0;

 L18259: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 11);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18260;
  goto ret0;

 L18260: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 12);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18261;
  goto ret0;

 L18261: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 13);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18262;
  goto ret0;

 L18262: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 14);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18263;
  goto ret0;

 L18263: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 15);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18264;
  goto ret0;

 L18264: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9146 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (MULT, V16HImode, operands)))
    {
      return 1632;  /* *avx2_umulhrswv16hi3 */
    }
  goto ret0;

 L15275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15276;
    }
  goto ret0;

 L15276: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15277;
    }
  goto ret0;

 L15277: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5844 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 195 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1443;  /* ashrv16hi3 */
    }
  goto ret0;

 L15299: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15300;
    }
  goto ret0;

 L15300: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15301;
    }
  goto ret0;

 L15301: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 204 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1447;  /* ashlv16hi3 */
    }
  goto ret0;

 L15305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15306;
    }
  goto ret0;

 L15306: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15307;
    }
  goto ret0;

 L15307: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 204 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1448;  /* lshrv16hi3 */
    }
  goto ret0;

 L15419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15420;
    }
  goto ret0;

 L15420: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15421;
    }
  goto ret0;

 L15421: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMAX, V16HImode, operands)))
    {
      return 1467;  /* *avx2_smaxv16hi3 */
    }
  goto ret0;

 L15425: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15426;
    }
  goto ret0;

 L15426: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15427;
    }
  goto ret0;

 L15427: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMIN, V16HImode, operands)))
    {
      return 1468;  /* *avx2_sminv16hi3 */
    }
  goto ret0;

 L15431: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15432;
    }
  goto ret0;

 L15432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15433;
    }
  goto ret0;

 L15433: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMAX, V16HImode, operands)))
    {
      return 1469;  /* *avx2_umaxv16hi3 */
    }
  goto ret0;

 L15437: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15438;
    }
  goto ret0;

 L15438: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15439;
    }
  goto ret0;

 L15439: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMIN, V16HImode, operands)))
    {
      return 1470;  /* *avx2_uminv16hi3 */
    }
  goto ret0;

 L15545: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15546;
    }
  goto ret0;

 L15546: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15547;
    }
  goto ret0;

 L15547: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6178 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (EQ, V16HImode, operands)))
    {
      return 1488;  /* *avx2_eqv16hi3 */
    }
  goto ret0;

 L15599: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15600;
    }
  goto ret0;

 L15600: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15601;
    }
  goto ret0;

 L15601: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6252 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1497;  /* avx2_gtv16hi3 */
    }
  goto ret0;

 L15649: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16HImode)
    goto L29765;
  goto ret0;

 L29765: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15650;
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15728;
    }
  goto ret0;

 L15650: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16HImode))
    {
      operands[1] = x3;
      goto L15651;
    }
  goto ret0;

 L15651: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15652;
    }
  goto ret0;

 L15652: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6443 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 152 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1505;  /* *andnotv16hi3 */
    }
  goto ret0;

 L15728: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15729;
    }
  goto ret0;

 L15729: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (AND, V16HImode, operands)) && (TARGET_AVX)))
    {
      return 1517;  /* *andv16hi3 */
    }
  goto ret0;

 L15733: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15734;
    }
  goto ret0;

 L15734: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15735;
    }
  goto ret0;

 L15735: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (IOR, V16HImode, operands)) && (TARGET_AVX)))
    {
      return 1518;  /* *iorv16hi3 */
    }
  goto ret0;

 L15739: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L15740;
    }
  goto ret0;

 L15740: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L15741;
    }
  goto ret0;

 L15741: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (XOR, V16HImode, operands)) && (TARGET_AVX)))
    {
      return 1519;  /* *xorv16hi3 */
    }
  goto ret0;

 L15876: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8HImode)
    goto L29767;
  goto ret0;

 L29767: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SS_TRUNCATE:
      goto L15877;
    case VEC_CONCAT:
      goto L16646;
    case US_TRUNCATE:
      goto L18606;
    case VEC_SELECT:
      goto L20724;
    case SUBREG:
    case MEM:
      goto L29770;
    default:
      goto L29771;
   }
 L29770: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L20440;
    }
 L29771: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L20460;
    }
 L29772: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L20709;
    }
 L29774: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L20964;
    }
  goto ret0;

 L15877: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SImode))
    {
      operands[1] = x3;
      goto L15878;
    }
  goto ret0;

 L15878: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == SS_TRUNCATE)
    goto L15879;
  goto ret0;

 L15879: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SImode))
    {
      operands[2] = x3;
      goto L15880;
    }
  goto ret0;

 L15880: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6660 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 174 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1541;  /* avx2_packssdw */
    }
  goto ret0;

 L16646: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16647;
  goto ret0;

 L16647: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_CONCAT)
    goto L16648;
  goto ret0;

 L16648: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode)
    goto L29775;
  goto ret0;

 L29775: ATTRIBUTE_UNUSED_LABEL
  return recog_25 (x0, insn, pnum_clobbers);

 L18606: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SImode))
    {
      operands[1] = x3;
      goto L18607;
    }
  goto ret0;

 L18607: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == US_TRUNCATE)
    goto L18608;
  goto ret0;

 L18608: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SImode))
    {
      operands[2] = x3;
      goto L18609;
    }
  goto ret0;

 L18609: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9546 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1683;  /* avx2_packusdw */
    }
  goto ret0;

 L20724: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16HImode))
    {
      operands[1] = x3;
      goto L20725;
    }
  goto ret0;

 L20725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 8)
    goto L20726;
  goto ret0;

 L20726: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L20727;
  goto ret0;

 L20727: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L20728;
  goto ret0;

 L20728: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L20729;
  goto ret0;

 L20729: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L20730;
  goto ret0;

 L20730: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 4);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L20731;
  goto ret0;

 L20731: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 5);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L20732;
  goto ret0;

 L20732: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 6);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L20733;
  goto ret0;

 L20733: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 7);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L20734;
  goto ret0;

 L20734: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L20735;
    }
  goto ret0;

 L20735: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12254 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1892;  /* vec_set_hi_v16hi */
    }
  goto ret0;

 L20440: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11851 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1855;  /* avx2_vbroadcasti128_v16hi */
    }
  x2 = XEXP (x1, 0);
  goto L29771;

 L20460: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11874 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1859;  /* avx_vbroadcastf128_v16hi */
    }
  x2 = XEXP (x1, 0);
  goto L29772;

 L20709: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20710;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20710: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16HImode))
    {
      operands[1] = x3;
      goto L20711;
    }
  x2 = XEXP (x1, 0);
  goto L29774;

 L20711: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 8)
    goto L20712;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20712: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L20713;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20713: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L20714;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20714: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L20715;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20715: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L20716;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20716: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 4);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L20717;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20717: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 5);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L20718;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20718: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 6);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L20719;
  x2 = XEXP (x1, 0);
  goto L29774;

 L20719: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 7);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 12236 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1891;  /* vec_set_lo_v16hi */
    }
  x2 = XEXP (x1, 0);
  goto L29774;

 L20964: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L20965;
    }
  goto ret0;

 L20965: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12438 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1925;  /* avx_vec_concatv16hi */
    }
  goto ret0;

 L16032: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V32HImode:
      goto L29779;
    case V16HImode:
      goto L29780;
    default:
      break;
    }
  goto ret0;

 L29779: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L16033;
  goto ret0;

 L16033: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16HImode))
    {
      operands[1] = x3;
      goto L16034;
    }
  goto ret0;

 L16034: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V16HImode))
    {
      operands[2] = x3;
      goto L16035;
    }
  goto ret0;

 L16035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 16)
    goto L16036;
  goto ret0;

 L16036: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29781;
  goto ret0;

 L29781: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 4L:
        goto L16037;
      case 0L:
        goto L16075;
      default:
        break;
      }
  goto ret0;

 L16037: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (20)])
    goto L16038;
  goto ret0;

 L16038: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16039;
  goto ret0;

 L16039: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (21)])
    goto L16040;
  goto ret0;

 L16040: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16041;
  goto ret0;

 L16041: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (22)])
    goto L16042;
  goto ret0;

 L16042: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16043;
  goto ret0;

 L16043: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (23)])
    goto L16044;
  goto ret0;

 L16044: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L16045;
  goto ret0;

 L16045: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (28)])
    goto L16046;
  goto ret0;

 L16046: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L16047;
  goto ret0;

 L16047: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (29)])
    goto L16048;
  goto ret0;

 L16048: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L16049;
  goto ret0;

 L16049: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (30)])
    goto L16050;
  goto ret0;

 L16050: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L16051;
  goto ret0;

 L16051: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (31)]
      && 
#line 6805 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1549;  /* avx2_interleave_highv16hi */
    }
  goto ret0;

 L16075: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)])
    goto L16076;
  goto ret0;

 L16076: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16077;
  goto ret0;

 L16077: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (17)])
    goto L16078;
  goto ret0;

 L16078: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16079;
  goto ret0;

 L16079: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (18)])
    goto L16080;
  goto ret0;

 L16080: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16081;
  goto ret0;

 L16081: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (19)])
    goto L16082;
  goto ret0;

 L16082: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L16083;
  goto ret0;

 L16083: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (24)])
    goto L16084;
  goto ret0;

 L16084: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L16085;
  goto ret0;

 L16085: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (25)])
    goto L16086;
  goto ret0;

 L16086: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L16087;
  goto ret0;

 L16087: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (26)])
    goto L16088;
  goto ret0;

 L16088: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L16089;
  goto ret0;

 L16089: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (27)]
      && 
#line 6845 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1551;  /* avx2_interleave_lowv16hi */
    }
  goto ret0;

 L29780: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L16285;
    }
  goto ret0;

 L16285: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 16)
    goto L16286;
  goto ret0;

 L16286: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29783;
  goto ret0;

 L29783: ATTRIBUTE_UNUSED_LABEL
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L16287;
    }
 L29784: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x3, 0) == 0L)
    goto L16321;
  goto ret0;

 L16287: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L16288;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16288: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L16289;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16289: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L16290;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16290: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16291;
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16291: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16292;
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16292: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16293;
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16293: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16294;
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16294: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (const_8_to_11_operand (x3, VOIDmode))
    {
      operands[6] = x3;
      goto L16295;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16295: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (const_8_to_11_operand (x3, VOIDmode))
    {
      operands[7] = x3;
      goto L16296;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16296: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (const_8_to_11_operand (x3, VOIDmode))
    {
      operands[8] = x3;
      goto L16297;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16297: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (const_8_to_11_operand (x3, VOIDmode))
    {
      operands[9] = x3;
      goto L16298;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16298: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L16299;
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16299: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L16300;
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16300: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L16301;
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16301: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 7263 "../../gcc/config/i386/sse.md"
(TARGET_AVX2
   && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
   && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
   && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
   && INTVAL (operands[5]) + 8 == INTVAL (operands[9])))
    {
      return 1572;  /* avx2_pshuflw_1 */
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29784;

 L16321: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16322;
  goto ret0;

 L16322: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16323;
  goto ret0;

 L16323: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16324;
  goto ret0;

 L16324: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L16325;
    }
  goto ret0;

 L16325: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L16326;
    }
  goto ret0;

 L16326: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L16327;
    }
  goto ret0;

 L16327: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L16328;
    }
  goto ret0;

 L16328: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L16329;
  goto ret0;

 L16329: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L16330;
  goto ret0;

 L16330: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L16331;
  goto ret0;

 L16331: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L16332;
  goto ret0;

 L16332: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (const_12_to_15_operand (x3, VOIDmode))
    {
      operands[6] = x3;
      goto L16333;
    }
  goto ret0;

 L16333: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (const_12_to_15_operand (x3, VOIDmode))
    {
      operands[7] = x3;
      goto L16334;
    }
  goto ret0;

 L16334: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (const_12_to_15_operand (x3, VOIDmode))
    {
      operands[8] = x3;
      goto L16335;
    }
  goto ret0;

 L16335: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (const_12_to_15_operand (x3, VOIDmode))
    {
      operands[9] = x3;
      goto L16336;
    }
  goto ret0;

 L16336: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7367 "../../gcc/config/i386/sse.md"
(TARGET_AVX2
   && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
   && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
   && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
   && INTVAL (operands[5]) + 8 == INTVAL (operands[9])))
    {
      return 1574;  /* avx2_pshufhw_1 */
    }
  goto ret0;

 L29756: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 96)
    goto L18338;
  goto ret0;

 L18338: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L18339;
    }
  goto ret0;

 L18339: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L18340;
    }
  goto ret0;

 L18340: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9275 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 200 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1640;  /* avx2_psignv16hi3 */
    }
  goto ret0;

 L18411: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L18412;
    }
  goto ret0;

 L18412: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9350 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 200 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1652;  /* absv16hi2 */
    }
  goto ret0;

 L18642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L18643;
    }
  goto ret0;

 L18643: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L18644;
    }
  goto ret0;

 L18644: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (avx2_pblendw_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18645;
    }
  goto ret0;

 L18645: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9624 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1688;  /* *avx2_pblendw */
    }
  goto ret0;

 L18668: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L18669;
    }
  goto ret0;

 L18669: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9664 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1692;  /* avx2_sign_extendv16qiv16hi2 */
    }
  goto ret0;

 L18673: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L18674;
    }
  goto ret0;

 L18674: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9664 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1693;  /* avx2_zero_extendv16qiv16hi2 */
    }
  goto ret0;

 L19345: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[3] = x2;
      goto L19346;
    }
  goto ret0;

 L19346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L19347;
    }
  goto ret0;

 L19347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[2] = x2;
      goto L19348;
    }
  goto ret0;

 L19348: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 114 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1750;  /* xop_pcmov_v16hi256 */
    }
  goto ret0;

 L20330: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20331;
  goto ret0;

 L20331: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L20332;
    }
  goto ret0;

 L20332: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20333;
  goto ret0;

 L20333: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 11723 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 152 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1838;  /* avx2_pbroadcastv16hi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_27 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case PLUS:
      goto L16809;
    case SS_PLUS:
      goto L17235;
    case MINUS:
      goto L17518;
    case SS_MINUS:
      goto L17944;
    default:
     break;
   }
  goto ret0;

 L16809: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16810;
  goto ret0;

 L16810: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, V8HImode))
    {
      operands[1] = x6;
      goto L16811;
    }
  goto ret0;

 L16811: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16812;
  goto ret0;

 L16812: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L16813;
  goto ret0;

 L16813: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16814;
  goto ret0;

 L16814: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16815;
  goto ret0;

 L16815: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16816;
  goto ret0;

 L16816: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16817;
  goto ret0;

 L16817: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == PLUS)
    goto L16818;
  goto ret0;

 L16818: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16819;
  goto ret0;

 L16819: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16820;
  goto ret0;

 L16820: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16821;
  goto ret0;

 L16821: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16822;
  goto ret0;

 L16822: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16823;
  goto ret0;

 L16823: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16824;
  goto ret0;

 L16824: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16825;
  goto ret0;

 L16825: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16826;
  goto ret0;

 L16826: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16827;
  goto ret0;

 L16827: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == PLUS)
    goto L16828;
  goto ret0;

 L16828: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16829;
  goto ret0;

 L16829: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16830;
  goto ret0;

 L16830: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16831;
  goto ret0;

 L16831: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16832;
  goto ret0;

 L16832: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16833;
  goto ret0;

 L16833: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16834;
  goto ret0;

 L16834: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16835;
  goto ret0;

 L16835: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16836;
  goto ret0;

 L16836: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == PLUS)
    goto L16837;
  goto ret0;

 L16837: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16838;
  goto ret0;

 L16838: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16839;
  goto ret0;

 L16839: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16840;
  goto ret0;

 L16840: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16841;
  goto ret0;

 L16841: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16842;
  goto ret0;

 L16842: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16843;
  goto ret0;

 L16843: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16844;
  goto ret0;

 L16844: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16845;
  goto ret0;

 L16845: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L16846;
  goto ret0;

 L16846: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16847;
  goto ret0;

 L16847: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == PLUS)
    goto L16848;
  goto ret0;

 L16848: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16849;
  goto ret0;

 L16849: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[2] = x6;
      goto L16850;
    }
  goto ret0;

 L16850: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16851;
  goto ret0;

 L16851: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L16852;
  goto ret0;

 L16852: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16853;
  goto ret0;

 L16853: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16854;
  goto ret0;

 L16854: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16855;
  goto ret0;

 L16855: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16856;
  goto ret0;

 L16856: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == PLUS)
    goto L16857;
  goto ret0;

 L16857: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16858;
  goto ret0;

 L16858: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16859;
  goto ret0;

 L16859: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16860;
  goto ret0;

 L16860: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16861;
  goto ret0;

 L16861: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16862;
  goto ret0;

 L16862: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16863;
  goto ret0;

 L16863: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16864;
  goto ret0;

 L16864: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16865;
  goto ret0;

 L16865: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16866;
  goto ret0;

 L16866: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == PLUS)
    goto L16867;
  goto ret0;

 L16867: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16868;
  goto ret0;

 L16868: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16869;
  goto ret0;

 L16869: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16870;
  goto ret0;

 L16870: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16871;
  goto ret0;

 L16871: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16872;
  goto ret0;

 L16872: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16873;
  goto ret0;

 L16873: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16874;
  goto ret0;

 L16874: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16875;
  goto ret0;

 L16875: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == PLUS)
    goto L16876;
  goto ret0;

 L16876: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16877;
  goto ret0;

 L16877: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16878;
  goto ret0;

 L16878: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16879;
  goto ret0;

 L16879: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16880;
  goto ret0;

 L16880: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16881;
  goto ret0;

 L16881: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16882;
  goto ret0;

 L16882: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16883;
  goto ret0;

 L16883: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 8217 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1612;  /* ssse3_phaddwv8hi3 */
    }
  goto ret0;

 L17235: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17236;
  goto ret0;

 L17236: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, V8HImode))
    {
      operands[1] = x6;
      goto L17237;
    }
  goto ret0;

 L17237: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17238;
  goto ret0;

 L17238: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17239;
  goto ret0;

 L17239: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17240;
  goto ret0;

 L17240: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17241;
  goto ret0;

 L17241: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17242;
  goto ret0;

 L17242: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17243;
  goto ret0;

 L17243: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_PLUS)
    goto L17244;
  goto ret0;

 L17244: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17245;
  goto ret0;

 L17245: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17246;
  goto ret0;

 L17246: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17247;
  goto ret0;

 L17247: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17248;
  goto ret0;

 L17248: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17249;
  goto ret0;

 L17249: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17250;
  goto ret0;

 L17250: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17251;
  goto ret0;

 L17251: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17252;
  goto ret0;

 L17252: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17253;
  goto ret0;

 L17253: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_PLUS)
    goto L17254;
  goto ret0;

 L17254: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17255;
  goto ret0;

 L17255: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17256;
  goto ret0;

 L17256: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17257;
  goto ret0;

 L17257: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17258;
  goto ret0;

 L17258: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17259;
  goto ret0;

 L17259: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17260;
  goto ret0;

 L17260: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17261;
  goto ret0;

 L17261: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17262;
  goto ret0;

 L17262: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_PLUS)
    goto L17263;
  goto ret0;

 L17263: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17264;
  goto ret0;

 L17264: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17265;
  goto ret0;

 L17265: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17266;
  goto ret0;

 L17266: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17267;
  goto ret0;

 L17267: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17268;
  goto ret0;

 L17268: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17269;
  goto ret0;

 L17269: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17270;
  goto ret0;

 L17270: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17271;
  goto ret0;

 L17271: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17272;
  goto ret0;

 L17272: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17273;
  goto ret0;

 L17273: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_PLUS)
    goto L17274;
  goto ret0;

 L17274: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17275;
  goto ret0;

 L17275: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[2] = x6;
      goto L17276;
    }
  goto ret0;

 L17276: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17277;
  goto ret0;

 L17277: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17278;
  goto ret0;

 L17278: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17279;
  goto ret0;

 L17279: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17280;
  goto ret0;

 L17280: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17281;
  goto ret0;

 L17281: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17282;
  goto ret0;

 L17282: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_PLUS)
    goto L17283;
  goto ret0;

 L17283: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17284;
  goto ret0;

 L17284: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17285;
  goto ret0;

 L17285: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17286;
  goto ret0;

 L17286: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17287;
  goto ret0;

 L17287: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17288;
  goto ret0;

 L17288: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17289;
  goto ret0;

 L17289: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17290;
  goto ret0;

 L17290: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17291;
  goto ret0;

 L17291: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17292;
  goto ret0;

 L17292: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_PLUS)
    goto L17293;
  goto ret0;

 L17293: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17294;
  goto ret0;

 L17294: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17295;
  goto ret0;

 L17295: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17296;
  goto ret0;

 L17296: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17297;
  goto ret0;

 L17297: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17298;
  goto ret0;

 L17298: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17299;
  goto ret0;

 L17299: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17300;
  goto ret0;

 L17300: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17301;
  goto ret0;

 L17301: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_PLUS)
    goto L17302;
  goto ret0;

 L17302: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17303;
  goto ret0;

 L17303: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17304;
  goto ret0;

 L17304: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17305;
  goto ret0;

 L17305: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17306;
  goto ret0;

 L17306: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17307;
  goto ret0;

 L17307: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17308;
  goto ret0;

 L17308: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17309;
  goto ret0;

 L17309: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 8469 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1618;  /* ssse3_phaddswv8hi3 */
    }
  goto ret0;

 L17518: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17519;
  goto ret0;

 L17519: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, V8HImode))
    {
      operands[1] = x6;
      goto L17520;
    }
  goto ret0;

 L17520: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17521;
  goto ret0;

 L17521: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17522;
  goto ret0;

 L17522: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17523;
  goto ret0;

 L17523: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17524;
  goto ret0;

 L17524: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17525;
  goto ret0;

 L17525: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17526;
  goto ret0;

 L17526: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == MINUS)
    goto L17527;
  goto ret0;

 L17527: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17528;
  goto ret0;

 L17528: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17529;
  goto ret0;

 L17529: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17530;
  goto ret0;

 L17530: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17531;
  goto ret0;

 L17531: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17532;
  goto ret0;

 L17532: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17533;
  goto ret0;

 L17533: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17534;
  goto ret0;

 L17534: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17535;
  goto ret0;

 L17535: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17536;
  goto ret0;

 L17536: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == MINUS)
    goto L17537;
  goto ret0;

 L17537: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17538;
  goto ret0;

 L17538: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17539;
  goto ret0;

 L17539: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17540;
  goto ret0;

 L17540: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17541;
  goto ret0;

 L17541: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17542;
  goto ret0;

 L17542: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17543;
  goto ret0;

 L17543: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17544;
  goto ret0;

 L17544: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17545;
  goto ret0;

 L17545: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == MINUS)
    goto L17546;
  goto ret0;

 L17546: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17547;
  goto ret0;

 L17547: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17548;
  goto ret0;

 L17548: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17549;
  goto ret0;

 L17549: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17550;
  goto ret0;

 L17550: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17551;
  goto ret0;

 L17551: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17552;
  goto ret0;

 L17552: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17553;
  goto ret0;

 L17553: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17554;
  goto ret0;

 L17554: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17555;
  goto ret0;

 L17555: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17556;
  goto ret0;

 L17556: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == MINUS)
    goto L17557;
  goto ret0;

 L17557: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17558;
  goto ret0;

 L17558: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[2] = x6;
      goto L17559;
    }
  goto ret0;

 L17559: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17560;
  goto ret0;

 L17560: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17561;
  goto ret0;

 L17561: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17562;
  goto ret0;

 L17562: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17563;
  goto ret0;

 L17563: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17564;
  goto ret0;

 L17564: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17565;
  goto ret0;

 L17565: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == MINUS)
    goto L17566;
  goto ret0;

 L17566: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17567;
  goto ret0;

 L17567: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17568;
  goto ret0;

 L17568: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17569;
  goto ret0;

 L17569: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17570;
  goto ret0;

 L17570: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17571;
  goto ret0;

 L17571: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17572;
  goto ret0;

 L17572: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17573;
  goto ret0;

 L17573: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17574;
  goto ret0;

 L17574: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17575;
  goto ret0;

 L17575: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == MINUS)
    goto L17576;
  goto ret0;

 L17576: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17577;
  goto ret0;

 L17577: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17578;
  goto ret0;

 L17578: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17579;
  goto ret0;

 L17579: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17580;
  goto ret0;

 L17580: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17581;
  goto ret0;

 L17581: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17582;
  goto ret0;

 L17582: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17583;
  goto ret0;

 L17583: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17584;
  goto ret0;

 L17584: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == MINUS)
    goto L17585;
  goto ret0;

 L17585: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17586;
  goto ret0;

 L17586: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17587;
  goto ret0;

 L17587: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17588;
  goto ret0;

 L17588: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17589;
  goto ret0;

 L17589: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17590;
  goto ret0;

 L17590: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17591;
  goto ret0;

 L17591: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17592;
  goto ret0;

 L17592: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 8623 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1621;  /* ssse3_phsubwv8hi3 */
    }
  goto ret0;

 L17944: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17945;
  goto ret0;

 L17945: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, V8HImode))
    {
      operands[1] = x6;
      goto L17946;
    }
  goto ret0;

 L17946: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17947;
  goto ret0;

 L17947: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17948;
  goto ret0;

 L17948: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17949;
  goto ret0;

 L17949: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17950;
  goto ret0;

 L17950: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17951;
  goto ret0;

 L17951: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17952;
  goto ret0;

 L17952: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_MINUS)
    goto L17953;
  goto ret0;

 L17953: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17954;
  goto ret0;

 L17954: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17955;
  goto ret0;

 L17955: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17956;
  goto ret0;

 L17956: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17957;
  goto ret0;

 L17957: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17958;
  goto ret0;

 L17958: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17959;
  goto ret0;

 L17959: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17960;
  goto ret0;

 L17960: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17961;
  goto ret0;

 L17961: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17962;
  goto ret0;

 L17962: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_MINUS)
    goto L17963;
  goto ret0;

 L17963: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17964;
  goto ret0;

 L17964: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17965;
  goto ret0;

 L17965: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17966;
  goto ret0;

 L17966: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17967;
  goto ret0;

 L17967: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17968;
  goto ret0;

 L17968: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17969;
  goto ret0;

 L17969: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17970;
  goto ret0;

 L17970: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17971;
  goto ret0;

 L17971: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_MINUS)
    goto L17972;
  goto ret0;

 L17972: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17973;
  goto ret0;

 L17973: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17974;
  goto ret0;

 L17974: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17975;
  goto ret0;

 L17975: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17976;
  goto ret0;

 L17976: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17977;
  goto ret0;

 L17977: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17978;
  goto ret0;

 L17978: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17979;
  goto ret0;

 L17979: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17980;
  goto ret0;

 L17980: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17981;
  goto ret0;

 L17981: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17982;
  goto ret0;

 L17982: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_MINUS)
    goto L17983;
  goto ret0;

 L17983: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17984;
  goto ret0;

 L17984: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[2] = x6;
      goto L17985;
    }
  goto ret0;

 L17985: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17986;
  goto ret0;

 L17986: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17987;
  goto ret0;

 L17987: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17988;
  goto ret0;

 L17988: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17989;
  goto ret0;

 L17989: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17990;
  goto ret0;

 L17990: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17991;
  goto ret0;

 L17991: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_MINUS)
    goto L17992;
  goto ret0;

 L17992: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17993;
  goto ret0;

 L17993: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17994;
  goto ret0;

 L17994: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17995;
  goto ret0;

 L17995: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17996;
  goto ret0;

 L17996: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17997;
  goto ret0;

 L17997: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17998;
  goto ret0;

 L17998: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17999;
  goto ret0;

 L17999: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18000;
  goto ret0;

 L18000: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L18001;
  goto ret0;

 L18001: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_MINUS)
    goto L18002;
  goto ret0;

 L18002: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L18003;
  goto ret0;

 L18003: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L18004;
  goto ret0;

 L18004: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L18005;
  goto ret0;

 L18005: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18006;
  goto ret0;

 L18006: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L18007;
  goto ret0;

 L18007: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L18008;
  goto ret0;

 L18008: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L18009;
  goto ret0;

 L18009: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18010;
  goto ret0;

 L18010: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == SS_MINUS)
    goto L18011;
  goto ret0;

 L18011: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L18012;
  goto ret0;

 L18012: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L18013;
  goto ret0;

 L18013: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L18014;
  goto ret0;

 L18014: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18015;
  goto ret0;

 L18015: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L18016;
  goto ret0;

 L18016: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L18017;
  goto ret0;

 L18017: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L18018;
  goto ret0;

 L18018: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 8876 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1627;  /* ssse3_phsubswv8hi3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_28 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L14867;
    case MINUS:
      goto L14873;
    case SS_PLUS:
      goto L14999;
    case US_PLUS:
      goto L15005;
    case SS_MINUS:
      goto L15011;
    case US_MINUS:
      goto L15017;
    case MULT:
      goto L15041;
    case TRUNCATE:
      goto L15067;
    case ASHIFTRT:
      goto L15281;
    case ASHIFT:
      goto L15311;
    case LSHIFTRT:
      goto L15317;
    case SMAX:
      goto L15491;
    case SMIN:
      goto L15497;
    case UMAX:
      goto L15503;
    case UMIN:
      goto L15509;
    case EQ:
      goto L15575;
    case GT:
      goto L15623;
    case AND:
      goto L15656;
    case IOR:
      goto L15751;
    case XOR:
      goto L15757;
    case VEC_CONCAT:
      goto L15884;
    case VEC_SELECT:
      goto L16055;
    case VEC_MERGE:
      goto L16168;
    case UNSPEC:
      goto L29826;
    case ABS:
      goto L18416;
    case SIGN_EXTEND:
      goto L18678;
    case ZERO_EXTEND:
      goto L18692;
    case IF_THEN_ELSE:
      goto L19352;
    case ROTATE:
      goto L19890;
    case ROTATERT:
      goto L19914;
    case VEC_DUPLICATE:
      goto L20337;
    default:
     break;
   }
 L29821: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_int_operator (x1, V8HImode))
    {
      operands[1] = x1;
      goto L20138;
    }
 L29822: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_uns_operator (x1, V8HImode))
    {
      operands[1] = x1;
      goto L20162;
    }
  goto ret0;

 L14867: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8HImode)
    goto L29831;
  goto ret0;

 L29831: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MULT:
      goto L19105;
    case SIGN_EXTEND:
      goto L19416;
    case ZERO_EXTEND:
      goto L19600;
    case REG:
    case SUBREG:
    case MEM:
      goto L29830;
    default:
      goto ret0;
   }
 L29830: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L14868;
    }
  goto ret0;

 L19105: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L19106;
    }
  goto ret0;

 L19106: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[2] = x3;
      goto L19107;
    }
  goto ret0;

 L19107: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[3] = x2;
      goto L19108;
    }
  goto ret0;

 L19108: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10336 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1736;  /* xop_pmacsww */
    }
  goto ret0;

 L19416: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8QImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19417;
  goto ret0;

 L19417: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V16QImode))
    {
      operands[1] = x4;
      goto L19418;
    }
  goto ret0;

 L19418: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 8)
    goto L19419;
  goto ret0;

 L19419: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19420;
  goto ret0;

 L19420: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19421;
  goto ret0;

 L19421: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19422;
  goto ret0;

 L19422: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19423;
  goto ret0;

 L19423: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L19424;
  goto ret0;

 L19424: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L19425;
  goto ret0;

 L19425: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L19426;
  goto ret0;

 L19426: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L19427;
  goto ret0;

 L19427: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L19428;
  goto ret0;

 L19428: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8QImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19429;
  goto ret0;

 L19429: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19430;
  goto ret0;

 L19430: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 8)
    goto L19431;
  goto ret0;

 L19431: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19432;
  goto ret0;

 L19432: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19433;
  goto ret0;

 L19433: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19434;
  goto ret0;

 L19434: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19435;
  goto ret0;

 L19435: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L19436;
  goto ret0;

 L19436: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L19437;
  goto ret0;

 L19437: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L19438;
  goto ret0;

 L19438: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 10620 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1760;  /* xop_phaddbw */
    }
  goto ret0;

 L19600: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8QImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19601;
  goto ret0;

 L19601: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V16QImode))
    {
      operands[1] = x4;
      goto L19602;
    }
  goto ret0;

 L19602: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 8)
    goto L19603;
  goto ret0;

 L19603: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19604;
  goto ret0;

 L19604: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19605;
  goto ret0;

 L19605: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19606;
  goto ret0;

 L19606: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19607;
  goto ret0;

 L19607: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L19608;
  goto ret0;

 L19608: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L19609;
  goto ret0;

 L19609: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L19610;
  goto ret0;

 L19610: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L19611;
  goto ret0;

 L19611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L19612;
  goto ret0;

 L19612: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8QImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19613;
  goto ret0;

 L19613: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19614;
  goto ret0;

 L19614: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 8)
    goto L19615;
  goto ret0;

 L19615: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19616;
  goto ret0;

 L19616: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19617;
  goto ret0;

 L19617: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19618;
  goto ret0;

 L19618: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19619;
  goto ret0;

 L19619: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L19620;
  goto ret0;

 L19620: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L19621;
  goto ret0;

 L19621: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L19622;
  goto ret0;

 L19622: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 10806 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1766;  /* xop_phaddubw */
    }
  goto ret0;

 L14868: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L14869;
    }
  goto ret0;

 L14869: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4921 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8HImode, operands)))
    {
      return 1398;  /* *addv8hi3 */
    }
  goto ret0;

 L14873: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8HImode)
    goto L29835;
  goto ret0;

 L29835: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == SIGN_EXTEND)
    goto L19784;
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L14874;
    }
  goto ret0;

 L19784: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8QImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19785;
  goto ret0;

 L19785: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V16QImode))
    {
      operands[1] = x4;
      goto L19786;
    }
  goto ret0;

 L19786: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 8)
    goto L19787;
  goto ret0;

 L19787: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19788;
  goto ret0;

 L19788: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19789;
  goto ret0;

 L19789: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19790;
  goto ret0;

 L19790: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19791;
  goto ret0;

 L19791: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L19792;
  goto ret0;

 L19792: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L19793;
  goto ret0;

 L19793: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L19794;
  goto ret0;

 L19794: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L19795;
  goto ret0;

 L19795: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L19796;
  goto ret0;

 L19796: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8QImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19797;
  goto ret0;

 L19797: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19798;
  goto ret0;

 L19798: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 8)
    goto L19799;
  goto ret0;

 L19799: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19800;
  goto ret0;

 L19800: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19801;
  goto ret0;

 L19801: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19802;
  goto ret0;

 L19802: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19803;
  goto ret0;

 L19803: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L19804;
  goto ret0;

 L19804: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L19805;
  goto ret0;

 L19805: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L19806;
  goto ret0;

 L19806: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 10992 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1772;  /* xop_phsubbw */
    }
  goto ret0;

 L14874: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L14875;
    }
  goto ret0;

 L14875: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4921 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8HImode, operands)))
    {
      return 1399;  /* *subv8hi3 */
    }
  goto ret0;

 L14999: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8HImode)
    goto L29837;
  goto ret0;

 L29837: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == MULT)
    goto L18149;
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15000;
    }
  goto ret0;

 L18149: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8HImode)
    goto L29838;
  goto ret0;

 L29838: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ZERO_EXTEND)
    goto L18150;
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L19114;
    }
  goto ret0;

 L18150: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18151;
  goto ret0;

 L18151: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V16QImode))
    {
      operands[1] = x5;
      goto L18152;
    }
  goto ret0;

 L18152: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 8)
    goto L18153;
  goto ret0;

 L18153: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18154;
  goto ret0;

 L18154: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18155;
  goto ret0;

 L18155: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18156;
  goto ret0;

 L18156: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18157;
  goto ret0;

 L18157: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L18158;
  goto ret0;

 L18158: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L18159;
  goto ret0;

 L18159: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L18160;
  goto ret0;

 L18160: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L18161;
  goto ret0;

 L18161: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V8HImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L18162;
  goto ret0;

 L18162: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18163;
  goto ret0;

 L18163: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16QImode))
    {
      operands[2] = x5;
      goto L18164;
    }
  goto ret0;

 L18164: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 8)
    goto L18165;
  goto ret0;

 L18165: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18166;
  goto ret0;

 L18166: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18167;
  goto ret0;

 L18167: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18168;
  goto ret0;

 L18168: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18169;
  goto ret0;

 L18169: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L18170;
  goto ret0;

 L18170: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L18171;
  goto ret0;

 L18171: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L18172;
  goto ret0;

 L18172: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L18173;
  goto ret0;

 L18173: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == MULT)
    goto L18174;
  goto ret0;

 L18174: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L18175;
  goto ret0;

 L18175: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18176;
  goto ret0;

 L18176: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L18177;
  goto ret0;

 L18177: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 8)
    goto L18178;
  goto ret0;

 L18178: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18179;
  goto ret0;

 L18179: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18180;
  goto ret0;

 L18180: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18181;
  goto ret0;

 L18181: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L18182;
  goto ret0;

 L18182: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L18183;
  goto ret0;

 L18183: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L18184;
  goto ret0;

 L18184: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L18185;
  goto ret0;

 L18185: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L18186;
  goto ret0;

 L18186: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V8HImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L18187;
  goto ret0;

 L18187: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L18188;
  goto ret0;

 L18188: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L18189;
  goto ret0;

 L18189: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 8)
    goto L18190;
  goto ret0;

 L18190: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18191;
  goto ret0;

 L18191: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18192;
  goto ret0;

 L18192: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18193;
  goto ret0;

 L18193: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L18194;
  goto ret0;

 L18194: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L18195;
  goto ret0;

 L18195: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L18196;
  goto ret0;

 L18196: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L18197;
  goto ret0;

 L18197: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 9050 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1630;  /* ssse3_pmaddubsw128 */
    }
  goto ret0;

 L19114: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[2] = x3;
      goto L19115;
    }
  goto ret0;

 L19115: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[3] = x2;
      goto L19116;
    }
  goto ret0;

 L19116: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10347 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1737;  /* xop_pmacssww */
    }
  goto ret0;

 L15000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15001;
    }
  goto ret0;

 L15001: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4944 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (SS_PLUS, V8HImode, operands)))
    {
      return 1420;  /* *sse2_ssaddv8hi3 */
    }
  goto ret0;

 L15005: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15006;
    }
  goto ret0;

 L15006: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15007;
    }
  goto ret0;

 L15007: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4944 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (US_PLUS, V8HImode, operands)))
    {
      return 1421;  /* *sse2_usaddv8hi3 */
    }
  goto ret0;

 L15011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15012;
    }
  goto ret0;

 L15012: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15013;
    }
  goto ret0;

 L15013: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4944 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (SS_MINUS, V8HImode, operands)))
    {
      return 1422;  /* *sse2_sssubv8hi3 */
    }
  goto ret0;

 L15017: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15018;
    }
  goto ret0;

 L15018: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15019;
    }
  goto ret0;

 L15019: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4944 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)))
    {
      return 1423;  /* *sse2_ussubv8hi3 */
    }
  goto ret0;

 L15041: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15042;
    }
  goto ret0;

 L15042: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15043;
    }
  goto ret0;

 L15043: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5032 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V8HImode, operands)))
    {
      return 1427;  /* *mulv8hi3 */
    }
  goto ret0;

 L15067: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L15068;
  goto ret0;

 L15068: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8SImode)
    goto L29840;
  goto ret0;

 L29840: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case MULT:
      goto L15069;
    case PLUS:
      goto L16545;
    default:
     break;
   }
  goto ret0;

 L15069: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8SImode)
    goto L29842;
  goto ret0;

 L29842: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case SIGN_EXTEND:
      goto L15070;
    case ZERO_EXTEND:
      goto L15080;
    default:
     break;
   }
  goto ret0;

 L15070: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[1] = x5;
      goto L15071;
    }
  goto ret0;

 L15071: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V8SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L15072;
  goto ret0;

 L15072: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[2] = x5;
      goto L15073;
    }
  goto ret0;

 L15073: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)]
      && 
#line 5065 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V8HImode, operands)))
    {
      return 1430;  /* *smulv8hi3_highpart */
    }
  goto ret0;

 L15080: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[1] = x5;
      goto L15081;
    }
  goto ret0;

 L15081: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V8SImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L15082;
  goto ret0;

 L15082: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[2] = x5;
      goto L15083;
    }
  goto ret0;

 L15083: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)]
      && 
#line 5065 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V8HImode, operands)))
    {
      return 1431;  /* *umulv8hi3_highpart */
    }
  goto ret0;

 L16545: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8SImode)
    goto L29844;
  goto ret0;

 L29844: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case PLUS:
      goto L16546;
    case LSHIFTRT:
      goto L18271;
    default:
     break;
   }
  goto ret0;

 L16546: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V8SImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L16547;
  goto ret0;

 L16547: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[1] = x6;
      goto L16548;
    }
  goto ret0;

 L16548: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == V8SImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L16549;
  goto ret0;

 L16549: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[2] = x6;
      goto L16550;
    }
  goto ret0;

 L16550: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V8HImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 8)
    goto L16551;
  goto ret0;

 L16551: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16552;
  goto ret0;

 L16552: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16553;
  goto ret0;

 L16553: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16554;
  goto ret0;

 L16554: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16555;
  goto ret0;

 L16555: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16556;
  goto ret0;

 L16556: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16557;
  goto ret0;

 L16557: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16558;
  goto ret0;

 L16558: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16559;
  goto ret0;

 L16559: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 7952 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8HImode, operands)))
    {
      return 1594;  /* *sse2_uavgv8hi3 */
    }
  goto ret0;

 L18271: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V8SImode
      && GET_CODE (x5) == MULT)
    goto L18272;
  goto ret0;

 L18272: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == V8SImode
      && GET_CODE (x6) == SIGN_EXTEND)
    goto L18273;
  goto ret0;

 L18273: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V8HImode))
    {
      operands[1] = x7;
      goto L18274;
    }
  goto ret0;

 L18274: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == V8SImode
      && GET_CODE (x6) == SIGN_EXTEND)
    goto L18275;
  goto ret0;

 L18275: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, V8HImode))
    {
      operands[2] = x7;
      goto L18276;
    }
  goto ret0;

 L18276: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L18277;
  goto ret0;

 L18277: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V8HImode
      && GET_CODE (x4) == CONST_VECTOR
      && XVECLEN (x4, 0) == 8)
    goto L18278;
  goto ret0;

 L18278: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18279;
  goto ret0;

 L18279: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18280;
  goto ret0;

 L18280: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18281;
  goto ret0;

 L18281: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18282;
  goto ret0;

 L18282: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 4);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18283;
  goto ret0;

 L18283: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 5);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18284;
  goto ret0;

 L18284: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 6);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18285;
  goto ret0;

 L18285: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 7);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18286;
  goto ret0;

 L18286: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9190 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3 && ix86_binary_operator_ok (MULT, V8HImode, operands)))
    {
      return 1633;  /* *ssse3_pmulhrswv8hi3 */
    }
  goto ret0;

 L15281: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15282;
    }
  goto ret0;

 L15282: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15283;
    }
  goto ret0;

 L15283: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5844 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1444;  /* ashrv8hi3 */
    }
  goto ret0;

 L15311: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15312;
    }
  goto ret0;

 L15312: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15313;
    }
  goto ret0;

 L15313: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1449;  /* ashlv8hi3 */
    }
  goto ret0;

 L15317: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15318;
    }
  goto ret0;

 L15318: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15319;
    }
  goto ret0;

 L15319: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1450;  /* lshrv8hi3 */
    }
  goto ret0;

 L15491: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15492;
    }
  goto ret0;

 L15492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15493;
    }
  goto ret0;

 L15493: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6067 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (SMAX, V8HImode, operands)))
    {
      return 1479;  /* *smaxv8hi3 */
    }
  goto ret0;

 L15497: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15498;
    }
  goto ret0;

 L15498: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15499;
    }
  goto ret0;

 L15499: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6067 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (SMIN, V8HImode, operands)))
    {
      return 1480;  /* *sminv8hi3 */
    }
  goto ret0;

 L15503: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15504;
    }
  goto ret0;

 L15504: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15505;
    }
  goto ret0;

 L15505: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6133 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (UMAX, V8HImode, operands)))
    {
      return 1481;  /* *sse4_1_umaxv8hi3 */
    }
  goto ret0;

 L15509: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15510;
    }
  goto ret0;

 L15510: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15511;
    }
  goto ret0;

 L15511: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6133 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (UMIN, V8HImode, operands)))
    {
      return 1482;  /* *sse4_1_uminv8hi3 */
    }
  goto ret0;

 L15575: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15576;
    }
  goto L29821;

 L15576: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15577;
    }
  goto L29821;

 L15577: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6205 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP
   && ix86_binary_operator_ok (EQ, V8HImode, operands)))
    {
      return 1493;  /* *sse2_eqv8hi3 */
    }
  x1 = XEXP (x0, 1);
  goto L29821;

 L15623: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15624;
    }
  goto L29821;

 L15624: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15625;
    }
  goto L29821;

 L15625: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6264 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP))
    {
      return 1501;  /* sse2_gtv8hi3 */
    }
  x1 = XEXP (x0, 1);
  goto L29821;

 L15656: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8HImode)
    goto L29846;
  goto ret0;

 L29846: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15657;
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15746;
    }
  goto ret0;

 L15657: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L15658;
    }
  goto ret0;

 L15658: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15659;
    }
  goto ret0;

 L15659: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6443 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1506;  /* *andnotv8hi3 */
    }
  goto ret0;

 L15746: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15747;
    }
  goto ret0;

 L15747: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (AND, V8HImode, operands)))
    {
      return 1520;  /* *andv8hi3 */
    }
  goto ret0;

 L15751: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15752;
    }
  goto ret0;

 L15752: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15753;
    }
  goto ret0;

 L15753: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (IOR, V8HImode, operands)))
    {
      return 1521;  /* *iorv8hi3 */
    }
  goto ret0;

 L15757: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L15758;
    }
  goto ret0;

 L15758: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L15759;
    }
  goto ret0;

 L15759: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (XOR, V8HImode, operands)))
    {
      return 1522;  /* *xorv8hi3 */
    }
  goto ret0;

 L15884: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4HImode)
    goto L29848;
  goto ret0;

 L29848: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SS_TRUNCATE:
      goto L15885;
    case VEC_CONCAT:
      goto L16807;
    case US_TRUNCATE:
      goto L18614;
    case UNSPEC:
      goto L29852;
    default:
     break;
   }
  goto ret0;

 L15885: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L15886;
    }
  goto ret0;

 L15886: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4HImode
      && GET_CODE (x2) == SS_TRUNCATE)
    goto L15887;
  goto ret0;

 L15887: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L15888;
    }
  goto ret0;

 L15888: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6660 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1542;  /* sse2_packssdw */
    }
  goto ret0;

 L16807: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2HImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16808;
  goto ret0;

 L16808: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode)
    goto L29853;
  goto ret0;

 L29853: ATTRIBUTE_UNUSED_LABEL
  return recog_27 (x0, insn, pnum_clobbers);

 L18614: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L18615;
    }
  goto ret0;

 L18615: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4HImode
      && GET_CODE (x2) == US_TRUNCATE)
    goto L18616;
  goto ret0;

 L18616: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L18617;
    }
  goto ret0;

 L18617: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9560 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1684;  /* sse4_1_packusdw */
    }
  goto ret0;

 L29852: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 130)
    goto L21014;
  goto ret0;

 L21014: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L21015;
    }
  goto ret0;

 L21015: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L21016;
    }
  goto ret0;

 L21016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V4HImode))
    {
      operands[3] = x2;
      goto L21017;
    }
  goto ret0;

 L21017: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12514 "../../gcc/config/i386/sse.md"
(TARGET_F16C))
    {
      return 1933;  /* *vcvtps2ph */
    }
  goto ret0;

 L16055: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V16HImode:
      goto L29857;
    case V8HImode:
      goto L29858;
    default:
      break;
    }
  goto ret0;

 L29857: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L16056;
  goto ret0;

 L16056: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L16057;
    }
  goto ret0;

 L16057: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[2] = x3;
      goto L16058;
    }
  goto ret0;

 L16058: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L16059;
  goto ret0;

 L16059: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29859;
  goto ret0;

 L29859: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 4L:
        goto L16060;
      case 0L:
        goto L16098;
      default:
        break;
      }
  goto ret0;

 L16060: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L16061;
  goto ret0;

 L16061: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16062;
  goto ret0;

 L16062: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L16063;
  goto ret0;

 L16063: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16064;
  goto ret0;

 L16064: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L16065;
  goto ret0;

 L16065: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16066;
  goto ret0;

 L16066: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 6821 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1550;  /* vec_interleave_highv8hi */
    }
  goto ret0;

 L16098: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L16099;
  goto ret0;

 L16099: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16100;
  goto ret0;

 L16100: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L16101;
  goto ret0;

 L16101: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16102;
  goto ret0;

 L16102: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L16103;
  goto ret0;

 L16103: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16104;
  goto ret0;

 L16104: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)]
      && 
#line 6861 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1552;  /* vec_interleave_lowv8hi */
    }
  goto ret0;

 L29858: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L16306;
    }
  goto ret0;

 L16306: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L16307;
  goto ret0;

 L16307: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29861;
  goto ret0;

 L29861: ATTRIBUTE_UNUSED_LABEL
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L16308;
    }
 L29862: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x3, 0) == 0L)
    goto L16343;
  goto ret0;

 L16308: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L16309;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29862;

 L16309: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L16310;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29862;

 L16310: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L16311;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29862;

 L16311: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16312;
  x3 = XVECEXP (x2, 0, 0);
  goto L29862;

 L16312: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16313;
  x3 = XVECEXP (x2, 0, 0);
  goto L29862;

 L16313: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16314;
  x3 = XVECEXP (x2, 0, 0);
  goto L29862;

 L16314: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 7310 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1573;  /* sse2_pshuflw_1 */
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L29862;

 L16343: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16344;
  goto ret0;

 L16344: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16345;
  goto ret0;

 L16345: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16346;
  goto ret0;

 L16346: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L16347;
    }
  goto ret0;

 L16347: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L16348;
    }
  goto ret0;

 L16348: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L16349;
    }
  goto ret0;

 L16349: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L16350;
    }
  goto ret0;

 L16350: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7414 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1575;  /* sse2_pshufhw_1 */
    }
  goto ret0;

 L16168: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8HImode)
    goto L29863;
  goto ret0;

 L29863: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_DUPLICATE)
    goto L16169;
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L18636;
    }
  goto ret0;

 L16169: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L16170;
    }
  goto ret0;

 L16170: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L16171;
    }
  goto ret0;

 L16171: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L16172;
    }
  goto ret0;

 L16172: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6989 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V8HImode))))
    {
      return 1558;  /* sse2_pinsrw */
    }
  goto ret0;

 L18636: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L18637;
    }
  goto ret0;

 L18637: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18638;
    }
  goto ret0;

 L18638: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9594 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1687;  /* sse4_1_pblendw */
    }
  goto ret0;

 L29826: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 2:
      goto L29865;
    case 1:
      goto L29866;
    case 3:
      goto L29868;
    default:
      break;
    }
  goto ret0;

 L29865: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 96)
    goto L18344;
  goto ret0;

 L18344: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L18345;
    }
  goto ret0;

 L18345: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L18346;
    }
  goto ret0;

 L18346: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9275 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1641;  /* ssse3_psignv8hi3 */
    }
  goto ret0;

 L29866: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 107L:
      goto L18663;
    case 112L:
      goto L20187;
    default:
      break;
    }
  goto ret0;

 L18663: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L18664;
    }
  goto ret0;

 L18664: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9653 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1691;  /* sse4_1_phminposuw */
    }
  goto ret0;

 L20187: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (ix86_comparison_uns_operator (x2, V8HImode))
    {
      operands[1] = x2;
      goto L20188;
    }
  goto ret0;

 L20188: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8HImode))
    {
      operands[2] = x3;
      goto L20189;
    }
  goto ret0;

 L20189: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[3] = x3;
      goto L20190;
    }
  goto ret0;

 L20190: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11521 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1816;  /* xop_maskcmp_uns2v8hi3 */
    }
  goto ret0;

 L29868: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 113)
    goto L20215;
  goto ret0;

 L20215: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L20216;
    }
  goto ret0;

 L20216: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L20217;
    }
  goto ret0;

 L20217: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20218;
    }
  goto ret0;

 L20218: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11538 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1820;  /* xop_pcom_tfv8hi3 */
    }
  goto ret0;

 L18416: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L18417;
    }
  goto ret0;

 L18417: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9350 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1653;  /* absv8hi2 */
    }
  goto ret0;

 L18678: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8QImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L18679;
  goto ret0;

 L18679: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18680;
    }
  goto ret0;

 L18680: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 8)
    goto L18681;
  goto ret0;

 L18681: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18682;
  goto ret0;

 L18682: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18683;
  goto ret0;

 L18683: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18684;
  goto ret0;

 L18684: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18685;
  goto ret0;

 L18685: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 4);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18686;
  goto ret0;

 L18686: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 5);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18687;
  goto ret0;

 L18687: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 6);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18688;
  goto ret0;

 L18688: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 7);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 9684 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1694;  /* sse4_1_sign_extendv8qiv8hi2 */
    }
  goto ret0;

 L18692: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8QImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L18693;
  goto ret0;

 L18693: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18694;
    }
  goto ret0;

 L18694: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 8)
    goto L18695;
  goto ret0;

 L18695: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18696;
  goto ret0;

 L18696: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18697;
  goto ret0;

 L18697: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18698;
  goto ret0;

 L18698: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18699;
  goto ret0;

 L18699: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 4);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18700;
  goto ret0;

 L18700: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 5);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18701;
  goto ret0;

 L18701: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 6);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18702;
  goto ret0;

 L18702: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 7);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 9684 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1695;  /* sse4_1_zero_extendv8qiv8hi2 */
    }
  goto ret0;

 L19352: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8HImode)
    goto L29870;
  goto ret0;

 L29870: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == GE)
    goto L19946;
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[3] = x2;
      goto L19353;
    }
  goto ret0;

 L19946: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[2] = x3;
      goto L19947;
    }
  goto ret0;

 L19947: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19948;
  goto ret0;

 L19948: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode)
    goto L29871;
  goto ret0;

 L29871: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ROTATE:
      goto L19949;
    case ASHIFT:
      goto L20001;
    default:
     break;
   }
  goto ret0;

 L19949: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L19950;
    }
  goto ret0;

 L19950: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L19951;
  goto ret0;

 L19951: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == ROTATERT)
    goto L19952;
  goto ret0;

 L19952: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L19953;
  goto ret0;

 L19953: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V8HImode
      && GET_CODE (x3) == NEG)
    goto L19954;
  goto ret0;

 L19954: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11212 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1788;  /* xop_vrotlv8hi3 */
    }
  goto ret0;

 L20001: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L20002;
    }
  goto ret0;

 L20002: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L20003;
  goto ret0;

 L20003: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V8HImode)
    goto L29873;
  goto ret0;

 L29873: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFTRT:
      goto L20004;
    case LSHIFTRT:
      goto L20056;
    default:
     break;
   }
  goto ret0;

 L20004: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L20005;
  goto ret0;

 L20005: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V8HImode
      && GET_CODE (x3) == NEG)
    goto L20006;
  goto ret0;

 L20006: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11335 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1792;  /* xop_shav8hi3 */
    }
  goto ret0;

 L20056: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L20057;
  goto ret0;

 L20057: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V8HImode
      && GET_CODE (x3) == NEG)
    goto L20058;
  goto ret0;

 L20058: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11354 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1796;  /* xop_shlv8hi3 */
    }
  goto ret0;

 L19353: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L19354;
    }
  goto ret0;

 L19354: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L19355;
    }
  goto ret0;

 L19355: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1751;  /* xop_pcmov_v8hi */
    }
  goto ret0;

 L19890: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L19891;
    }
  goto ret0;

 L19891: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L19892;
    }
  goto ret0;

 L19892: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11157 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1780;  /* xop_rotlv8hi3 */
    }
  goto ret0;

 L19914: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L19915;
    }
  goto ret0;

 L19915: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L19916;
    }
  goto ret0;

 L19916: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11168 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1784;  /* xop_rotrv8hi3 */
    }
  goto ret0;

 L20337: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20338;
  goto ret0;

 L20338: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L20339;
    }
  goto ret0;

 L20339: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20340;
  goto ret0;

 L20340: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11723 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1839;  /* avx2_pbroadcastv8hi */
    }
  goto ret0;

 L20138: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L20139;
    }
  goto L29822;

 L20139: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[3] = x2;
      goto L20140;
    }
  goto L29822;

 L20140: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11488 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1808;  /* xop_maskcmpv8hi3 */
    }
  x1 = XEXP (x0, 1);
  goto L29822;

 L20162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[2] = x2;
      goto L20163;
    }
  goto ret0;

 L20163: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[3] = x2;
      goto L20164;
    }
  goto ret0;

 L20164: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11502 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1812;  /* xop_maskcmp_unsv8hi3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_29 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29911;
    case 2:
      goto L29912;
    case 3:
      goto L29914;
    case 4:
      goto L29916;
    default:
      break;
    }
  goto ret0;

 L29911: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 39)
    goto L14034;
  goto ret0;

 L14034: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L14035;
    }
  goto ret0;

 L14035: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2257 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1298;  /* avx_cvtps2dq256 */
    }
  goto ret0;

 L29912: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 96L:
      goto L18350;
    case 131L:
      goto L20372;
    case 40L:
      goto L20822;
    default:
      break;
    }
  goto ret0;

 L18350: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L18351;
    }
  goto ret0;

 L18351: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L18352;
    }
  goto ret0;

 L18352: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9275 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 201 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1642;  /* avx2_psignv8si3 */
    }
  goto ret0;

 L20372: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L20373;
    }
  goto ret0;

 L20373: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20374;
    }
  goto ret0;

 L20374: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11736 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1844;  /* avx2_permvarv8si */
    }
  goto ret0;

 L20822: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20823;
    }
  goto ret0;

 L20823: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L20824;
    }
  goto ret0;

 L20824: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12312 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 216 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1901;  /* avx2_maskloadd256 */
    }
  goto ret0;

 L29914: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 126)
    goto L20557;
  goto ret0;

 L20557: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L20558;
    }
  goto ret0;

 L20558: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20559;
    }
  goto ret0;

 L20559: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20560;
    }
  goto ret0;

 L20560: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12076 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1875;  /* *avx_vperm2f128v8si_full */
    }
  goto ret0;

 L29916: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 135)
    goto L21397;
  goto ret0;

 L21397: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case V8SImode:
      goto L29917;
    case V4SImode:
      goto L29918;
    default:
      break;
    }
 L21861: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PC)
    goto L21862;
  goto ret0;

 L29917: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L21398;
    }
  goto L21861;

 L21398: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SImode))
    {
      operands[7] = x2;
      goto L21399;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21399: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L29919;
    case DImode:
      goto L29920;
    default:
      break;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L29919: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21400;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21400: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L21401;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21401: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (register_operand (x4, V8SImode))
    {
      operands[4] = x4;
      goto L21402;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21402: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21403;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21403: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21404;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21404: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21405;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21405: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V8SImode))
    {
      operands[5] = x2;
      goto L21406;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21406: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1948;  /* *avx2_gathersiv8si */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L29920: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21429;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21429: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L21430;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21430: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (register_operand (x4, V8SImode))
    {
      operands[4] = x4;
      goto L21431;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21431: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21432;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21432: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21433;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21433: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21434;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21434: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V8SImode))
    {
      operands[5] = x2;
      goto L21435;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21435: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1949;  /* *avx2_gathersiv8si */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L29918: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L22326;
    }
  goto L21861;

 L22326: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SImode))
    {
      operands[7] = x2;
      goto L22327;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22327: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L29921;
    case DImode:
      goto L29922;
    default:
      break;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L29921: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L22328;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22328: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L22329;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22329: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (register_operand (x4, V4DImode))
    {
      operands[4] = x4;
      goto L22330;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22330: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22331;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22331: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22332;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22332: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22333;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22333: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[5] = x2;
      goto L22334;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22334: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1980;  /* *avx2_gatherdiv8si */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L29922: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L22357;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22357: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L22358;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22358: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (register_operand (x4, V4DImode))
    {
      operands[4] = x4;
      goto L22359;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22359: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22360;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22360: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22361;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22361: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22362;
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22362: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[5] = x2;
      goto L22363;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L22363: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1981;  /* *avx2_gatherdiv8si */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  goto L21861;

 L21862: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SImode))
    {
      operands[6] = x2;
      goto L21863;
    }
  goto ret0;

 L21863: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L29923;
    case DImode:
      goto L29924;
    default:
      break;
    }
  goto ret0;

 L29923: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21864;
  goto ret0;

 L21864: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L21865;
    }
  goto ret0;

 L21865: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V8SImode:
      goto L29925;
    case V4DImode:
      goto L29926;
    default:
      break;
    }
  goto ret0;

 L29925: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V8SImode))
    {
      operands[3] = x4;
      goto L21866;
    }
  goto ret0;

 L21866: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21867;
    }
  goto ret0;

 L21867: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21868;
  goto ret0;

 L21868: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21869;
  goto ret0;

 L21869: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V8SImode))
    {
      operands[4] = x2;
      goto L21870;
    }
  goto ret0;

 L21870: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1964;  /* *avx2_gathersiv8si_2 */
    }
  goto ret0;

 L29926: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[3] = x4;
      goto L22794;
    }
  goto ret0;

 L22794: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22795;
    }
  goto ret0;

 L22795: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22796;
  goto ret0;

 L22796: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22797;
  goto ret0;

 L22797: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L22798;
    }
  goto ret0;

 L22798: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1996;  /* *avx2_gatherdiv8si_2 */
    }
  goto ret0;

 L29924: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21893;
  goto ret0;

 L21893: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L21894;
    }
  goto ret0;

 L21894: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V8SImode:
      goto L29927;
    case V4DImode:
      goto L29928;
    default:
      break;
    }
  goto ret0;

 L29927: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V8SImode))
    {
      operands[3] = x4;
      goto L21895;
    }
  goto ret0;

 L21895: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21896;
    }
  goto ret0;

 L21896: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21897;
  goto ret0;

 L21897: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21898;
  goto ret0;

 L21898: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V8SImode))
    {
      operands[4] = x2;
      goto L21899;
    }
  goto ret0;

 L21899: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1965;  /* *avx2_gathersiv8si_2 */
    }
  goto ret0;

 L29928: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[3] = x4;
      goto L22823;
    }
  goto ret0;

 L22823: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22824;
    }
  goto ret0;

 L22824: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22825;
  goto ret0;

 L22825: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22826;
  goto ret0;

 L22826: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L22827;
    }
  goto ret0;

 L22827: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1997;  /* *avx2_gatherdiv8si_2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_30 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case PLUS:
      goto L16931;
    case MINUS:
      goto L17640;
    default:
     break;
   }
  goto ret0;

 L16931: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16932;
  goto ret0;

 L16932: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, V8SImode))
    {
      operands[1] = x6;
      goto L16933;
    }
  goto ret0;

 L16933: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16934;
  goto ret0;

 L16934: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L16935;
  goto ret0;

 L16935: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16936;
  goto ret0;

 L16936: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16937;
  goto ret0;

 L16937: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16938;
  goto ret0;

 L16938: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16939;
  goto ret0;

 L16939: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L16940;
  goto ret0;

 L16940: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16941;
  goto ret0;

 L16941: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16942;
  goto ret0;

 L16942: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16943;
  goto ret0;

 L16943: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16944;
  goto ret0;

 L16944: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16945;
  goto ret0;

 L16945: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16946;
  goto ret0;

 L16946: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16947;
  goto ret0;

 L16947: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16948;
  goto ret0;

 L16948: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16949;
  goto ret0;

 L16949: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L16950;
  goto ret0;

 L16950: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16951;
  goto ret0;

 L16951: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16952;
  goto ret0;

 L16952: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16953;
  goto ret0;

 L16953: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16954;
  goto ret0;

 L16954: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16955;
  goto ret0;

 L16955: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16956;
  goto ret0;

 L16956: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16957;
  goto ret0;

 L16957: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16958;
  goto ret0;

 L16958: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L16959;
  goto ret0;

 L16959: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16960;
  goto ret0;

 L16960: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16961;
  goto ret0;

 L16961: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16962;
  goto ret0;

 L16962: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16963;
  goto ret0;

 L16963: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16964;
  goto ret0;

 L16964: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L16965;
  goto ret0;

 L16965: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16966;
  goto ret0;

 L16966: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16967;
  goto ret0;

 L16967: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L16968;
  goto ret0;

 L16968: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16969;
  goto ret0;

 L16969: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L16970;
  goto ret0;

 L16970: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16971;
  goto ret0;

 L16971: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8SImode))
    {
      operands[2] = x6;
      goto L16972;
    }
  goto ret0;

 L16972: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16973;
  goto ret0;

 L16973: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L16974;
  goto ret0;

 L16974: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16975;
  goto ret0;

 L16975: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16976;
  goto ret0;

 L16976: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16977;
  goto ret0;

 L16977: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16978;
  goto ret0;

 L16978: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L16979;
  goto ret0;

 L16979: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16980;
  goto ret0;

 L16980: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16981;
  goto ret0;

 L16981: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16982;
  goto ret0;

 L16982: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L16983;
  goto ret0;

 L16983: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16984;
  goto ret0;

 L16984: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16985;
  goto ret0;

 L16985: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16986;
  goto ret0;

 L16986: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16987;
  goto ret0;

 L16987: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16988;
  goto ret0;

 L16988: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L16989;
  goto ret0;

 L16989: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16990;
  goto ret0;

 L16990: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16991;
  goto ret0;

 L16991: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16992;
  goto ret0;

 L16992: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16993;
  goto ret0;

 L16993: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16994;
  goto ret0;

 L16994: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L16995;
  goto ret0;

 L16995: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L16996;
  goto ret0;

 L16996: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16997;
  goto ret0;

 L16997: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L16998;
  goto ret0;

 L16998: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L16999;
  goto ret0;

 L16999: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17000;
  goto ret0;

 L17000: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17001;
  goto ret0;

 L17001: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17002;
  goto ret0;

 L17002: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17003;
  goto ret0;

 L17003: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17004;
  goto ret0;

 L17004: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17005;
  goto ret0;

 L17005: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 8295 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1614;  /* avx2_phadddv8si3 */
    }
  goto ret0;

 L17640: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17641;
  goto ret0;

 L17641: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, V8SImode))
    {
      operands[1] = x6;
      goto L17642;
    }
  goto ret0;

 L17642: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17643;
  goto ret0;

 L17643: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17644;
  goto ret0;

 L17644: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17645;
  goto ret0;

 L17645: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17646;
  goto ret0;

 L17646: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17647;
  goto ret0;

 L17647: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17648;
  goto ret0;

 L17648: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == MINUS)
    goto L17649;
  goto ret0;

 L17649: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17650;
  goto ret0;

 L17650: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17651;
  goto ret0;

 L17651: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17652;
  goto ret0;

 L17652: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17653;
  goto ret0;

 L17653: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17654;
  goto ret0;

 L17654: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17655;
  goto ret0;

 L17655: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17656;
  goto ret0;

 L17656: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17657;
  goto ret0;

 L17657: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17658;
  goto ret0;

 L17658: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == MINUS)
    goto L17659;
  goto ret0;

 L17659: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17660;
  goto ret0;

 L17660: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17661;
  goto ret0;

 L17661: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17662;
  goto ret0;

 L17662: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17663;
  goto ret0;

 L17663: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17664;
  goto ret0;

 L17664: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17665;
  goto ret0;

 L17665: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17666;
  goto ret0;

 L17666: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17667;
  goto ret0;

 L17667: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == MINUS)
    goto L17668;
  goto ret0;

 L17668: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17669;
  goto ret0;

 L17669: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17670;
  goto ret0;

 L17670: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17671;
  goto ret0;

 L17671: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17672;
  goto ret0;

 L17672: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17673;
  goto ret0;

 L17673: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L17674;
  goto ret0;

 L17674: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17675;
  goto ret0;

 L17675: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L17676;
  goto ret0;

 L17676: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17677;
  goto ret0;

 L17677: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17678;
  goto ret0;

 L17678: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == MINUS)
    goto L17679;
  goto ret0;

 L17679: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17680;
  goto ret0;

 L17680: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8SImode))
    {
      operands[2] = x6;
      goto L17681;
    }
  goto ret0;

 L17681: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17682;
  goto ret0;

 L17682: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17683;
  goto ret0;

 L17683: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17684;
  goto ret0;

 L17684: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17685;
  goto ret0;

 L17685: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17686;
  goto ret0;

 L17686: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17687;
  goto ret0;

 L17687: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == MINUS)
    goto L17688;
  goto ret0;

 L17688: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17689;
  goto ret0;

 L17689: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17690;
  goto ret0;

 L17690: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17691;
  goto ret0;

 L17691: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17692;
  goto ret0;

 L17692: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17693;
  goto ret0;

 L17693: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17694;
  goto ret0;

 L17694: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17695;
  goto ret0;

 L17695: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17696;
  goto ret0;

 L17696: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L17697;
  goto ret0;

 L17697: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == MINUS)
    goto L17698;
  goto ret0;

 L17698: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17699;
  goto ret0;

 L17699: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17700;
  goto ret0;

 L17700: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17701;
  goto ret0;

 L17701: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L17702;
  goto ret0;

 L17702: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17703;
  goto ret0;

 L17703: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17704;
  goto ret0;

 L17704: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17705;
  goto ret0;

 L17705: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L17706;
  goto ret0;

 L17706: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == MINUS)
    goto L17707;
  goto ret0;

 L17707: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17708;
  goto ret0;

 L17708: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17709;
  goto ret0;

 L17709: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17710;
  goto ret0;

 L17710: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L17711;
  goto ret0;

 L17711: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L17712;
  goto ret0;

 L17712: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L17713;
  goto ret0;

 L17713: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L17714;
  goto ret0;

 L17714: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 8701 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1623;  /* avx2_phsubdv8si3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_31 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L29905;
    case FIX:
      goto L14044;
    case VEC_CONCAT:
      goto L14151;
    case PLUS:
      goto L14879;
    case MINUS:
      goto L14885;
    case MULT:
      goto L15245;
    case ASHIFTRT:
      goto L15287;
    case ASHIFT:
      goto L15323;
    case LSHIFTRT:
      goto L15329;
    case SMAX:
      goto L15443;
    case SMIN:
      goto L15449;
    case UMAX:
      goto L15455;
    case UMIN:
      goto L15461;
    case EQ:
      goto L15551;
    case GT:
      goto L15605;
    case AND:
      goto L15663;
    case IOR:
      goto L15769;
    case XOR:
      goto L15775;
    case VEC_SELECT:
      goto L16108;
    case ABS:
      goto L18421;
    case VEC_MERGE:
      goto L18649;
    case SIGN_EXTEND:
      goto L18706;
    case ZERO_EXTEND:
      goto L18720;
    case IF_THEN_ELSE:
      goto L19359;
    case VEC_DUPLICATE:
      goto L20344;
    default:
     break;
   }
  goto ret0;

 L29905: ATTRIBUTE_UNUSED_LABEL
  return recog_29 (x0, insn, pnum_clobbers);

 L14044: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L14045;
    }
  goto ret0;

 L14045: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2281 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1300;  /* fix_truncv8sfv8si2 */
    }
  goto ret0;

 L14151: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L29929;
  goto ret0;

 L29929: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      goto L29937;
    case FIX:
      goto L14171;
    case VEC_CONCAT:
      goto L16929;
    case VEC_SELECT:
      goto L20685;
    case SUBREG:
    case MEM:
      goto L29932;
    default:
      goto L29933;
   }
 L29932: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20445;
    }
 L29933: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20465;
    }
 L29934: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20663;
    }
 L29936: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20970;
    }
  goto ret0;

 L29937: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 39)
    goto L14152;
  goto ret0;

 L14152: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L14153;
    }
  goto ret0;

 L14153: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L14154;
    }
  goto ret0;

 L14154: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2552 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1317;  /* *avx_cvtpd2dq256_2 */
    }
  goto ret0;

 L14171: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L14172;
    }
  goto ret0;

 L14172: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L14173;
    }
  goto ret0;

 L14173: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2611 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1320;  /* *avx_cvttpd2dq256_2 */
    }
  goto ret0;

 L16929: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L16930;
  goto ret0;

 L16930: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L29938;
  goto ret0;

 L29938: ATTRIBUTE_UNUSED_LABEL
  return recog_30 (x0, insn, pnum_clobbers);

 L20685: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SImode))
    {
      operands[1] = x3;
      goto L20686;
    }
  goto ret0;

 L20686: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L20687;
  goto ret0;

 L20687: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L20688;
  goto ret0;

 L20688: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L20689;
  goto ret0;

 L20689: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L20690;
  goto ret0;

 L20690: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L20691;
  goto ret0;

 L20691: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20692;
    }
  goto ret0;

 L20692: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12218 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1889;  /* vec_set_hi_v8si */
    }
  goto ret0;

 L20445: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11851 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1856;  /* avx2_vbroadcasti128_v8si */
    }
  x2 = XEXP (x1, 0);
  goto L29933;

 L20465: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11874 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1860;  /* avx_vbroadcastf128_v8si */
    }
  x2 = XEXP (x1, 0);
  goto L29934;

 L20663: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20664;
  x2 = XEXP (x1, 0);
  goto L29936;

 L20664: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SImode))
    {
      operands[1] = x3;
      goto L20665;
    }
  x2 = XEXP (x1, 0);
  goto L29936;

 L20665: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L20666;
  x2 = XEXP (x1, 0);
  goto L29936;

 L20666: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L20667;
  x2 = XEXP (x1, 0);
  goto L29936;

 L20667: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L20668;
  x2 = XEXP (x1, 0);
  goto L29936;

 L20668: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L20669;
  x2 = XEXP (x1, 0);
  goto L29936;

 L20669: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 12202 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1887;  /* vec_set_lo_v8si */
    }
  x2 = XEXP (x1, 0);
  goto L29936;

 L20970: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20971;
    }
  goto ret0;

 L20971: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12438 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1926;  /* avx_vec_concatv8si */
    }
  goto ret0;

 L14879: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SImode)
    goto L29941;
  goto ret0;

 L29941: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == MULT)
    goto L15156;
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L14880;
    }
  goto ret0;

 L15156: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L15157;
  goto ret0;

 L15157: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L15158;
  goto ret0;

 L15158: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16HImode))
    {
      operands[1] = x5;
      goto L15159;
    }
  goto ret0;

 L15159: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 8)
    goto L15160;
  goto ret0;

 L15160: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15161;
  goto ret0;

 L15161: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15162;
  goto ret0;

 L15162: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15163;
  goto ret0;

 L15163: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L15164;
  goto ret0;

 L15164: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L15165;
  goto ret0;

 L15165: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L15166;
  goto ret0;

 L15166: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L15167;
  goto ret0;

 L15167: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L15168;
  goto ret0;

 L15168: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V8SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L15169;
  goto ret0;

 L15169: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L15170;
  goto ret0;

 L15170: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16HImode))
    {
      operands[2] = x5;
      goto L15171;
    }
  goto ret0;

 L15171: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 8)
    goto L15172;
  goto ret0;

 L15172: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15173;
  goto ret0;

 L15173: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15174;
  goto ret0;

 L15174: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15175;
  goto ret0;

 L15175: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L15176;
  goto ret0;

 L15176: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L15177;
  goto ret0;

 L15177: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L15178;
  goto ret0;

 L15178: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L15179;
  goto ret0;

 L15179: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L15180;
  goto ret0;

 L15180: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8SImode
      && GET_CODE (x2) == MULT)
    goto L15181;
  goto ret0;

 L15181: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L15182;
  goto ret0;

 L15182: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L15183;
  goto ret0;

 L15183: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L15184;
  goto ret0;

 L15184: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 8)
    goto L15185;
  goto ret0;

 L15185: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L15186;
  goto ret0;

 L15186: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L15187;
  goto ret0;

 L15187: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L15188;
  goto ret0;

 L15188: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L15189;
  goto ret0;

 L15189: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L15190;
  goto ret0;

 L15190: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L15191;
  goto ret0;

 L15191: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L15192;
  goto ret0;

 L15192: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L15193;
  goto ret0;

 L15193: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V8SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L15194;
  goto ret0;

 L15194: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V8HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L15195;
  goto ret0;

 L15195: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L15196;
  goto ret0;

 L15196: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 8)
    goto L15197;
  goto ret0;

 L15197: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L15198;
  goto ret0;

 L15198: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L15199;
  goto ret0;

 L15199: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L15200;
  goto ret0;

 L15200: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L15201;
  goto ret0;

 L15201: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 4);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L15202;
  goto ret0;

 L15202: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 5);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L15203;
  goto ret0;

 L15203: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 6);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L15204;
  goto ret0;

 L15204: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 7);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 5349 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (MULT, V16HImode, operands)))
    {
      return 1436;  /* *avx2_pmaddwd */
    }
  goto ret0;

 L14880: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L14881;
    }
  goto ret0;

 L14881: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8SImode, operands)) && (TARGET_AVX2)))
    {
      return 1400;  /* *addv8si3 */
    }
  goto ret0;

 L14885: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L14886;
    }
  goto ret0;

 L14886: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L14887;
    }
  goto ret0;

 L14887: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8SImode, operands)) && (TARGET_AVX2)))
    {
      return 1401;  /* *subv8si3 */
    }
  goto ret0;

 L15245: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15246;
    }
  goto ret0;

 L15246: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15247;
    }
  goto ret0;

 L15247: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5411 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V8SImode, operands)) && 
#line 177 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1438;  /* *avx2_mulv8si3 */
    }
  goto ret0;

 L15287: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L20898;
    }
  goto ret0;

 L20898: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20899;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15289;
    }
  goto ret0;

 L20899: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12416 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1914;  /* avx2_ashrvv8si */
    }
  goto ret0;

 L15289: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5844 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 196 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1445;  /* ashrv8si3 */
    }
  goto ret0;

 L15323: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L20910;
    }
  goto ret0;

 L20910: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20911;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15325;
    }
  goto ret0;

 L20911: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12427 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1916;  /* avx2_ashlvv8si */
    }
  goto ret0;

 L15325: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 205 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1451;  /* ashlv8si3 */
    }
  goto ret0;

 L15329: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L20916;
    }
  goto ret0;

 L20916: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20917;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15331;
    }
  goto ret0;

 L20917: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12427 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1917;  /* avx2_lshrvv8si */
    }
  goto ret0;

 L15331: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 205 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1452;  /* lshrv8si3 */
    }
  goto ret0;

 L15443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15444;
    }
  goto ret0;

 L15444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15445;
    }
  goto ret0;

 L15445: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMAX, V8SImode, operands)))
    {
      return 1471;  /* *avx2_smaxv8si3 */
    }
  goto ret0;

 L15449: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15450;
    }
  goto ret0;

 L15450: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15451;
    }
  goto ret0;

 L15451: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMIN, V8SImode, operands)))
    {
      return 1472;  /* *avx2_sminv8si3 */
    }
  goto ret0;

 L15455: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15456;
    }
  goto ret0;

 L15456: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15457;
    }
  goto ret0;

 L15457: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMAX, V8SImode, operands)))
    {
      return 1473;  /* *avx2_umaxv8si3 */
    }
  goto ret0;

 L15461: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15462;
    }
  goto ret0;

 L15462: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15463;
    }
  goto ret0;

 L15463: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5966 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMIN, V8SImode, operands)))
    {
      return 1474;  /* *avx2_uminv8si3 */
    }
  goto ret0;

 L15551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15552;
    }
  goto ret0;

 L15552: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15553;
    }
  goto ret0;

 L15553: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6178 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (EQ, V8SImode, operands)))
    {
      return 1489;  /* *avx2_eqv8si3 */
    }
  goto ret0;

 L15605: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15606;
    }
  goto ret0;

 L15606: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15607;
    }
  goto ret0;

 L15607: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6252 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1498;  /* avx2_gtv8si3 */
    }
  goto ret0;

 L15663: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SImode)
    goto L29942;
  goto ret0;

 L29942: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15664;
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15764;
    }
  goto ret0;

 L15664: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SImode))
    {
      operands[1] = x3;
      goto L15665;
    }
  goto ret0;

 L15665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15666;
    }
  goto ret0;

 L15666: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6443 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 153 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1507;  /* *andnotv8si3 */
    }
  goto ret0;

 L15764: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15765;
    }
  goto ret0;

 L15765: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (AND, V8SImode, operands)) && (TARGET_AVX)))
    {
      return 1523;  /* *andv8si3 */
    }
  goto ret0;

 L15769: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15770;
    }
  goto ret0;

 L15770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15771;
    }
  goto ret0;

 L15771: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (IOR, V8SImode, operands)) && (TARGET_AVX)))
    {
      return 1524;  /* *iorv8si3 */
    }
  goto ret0;

 L15775: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L15776;
    }
  goto ret0;

 L15776: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L15777;
    }
  goto ret0;

 L15777: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (XOR, V8SImode, operands)) && (TARGET_AVX)))
    {
      return 1525;  /* *xorv8si3 */
    }
  goto ret0;

 L16108: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V16SImode:
      goto L29944;
    case V8SImode:
      goto L29945;
    default:
      break;
    }
  goto ret0;

 L29944: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L16109;
  goto ret0;

 L16109: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SImode))
    {
      operands[1] = x3;
      goto L16110;
    }
  goto ret0;

 L16110: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8SImode))
    {
      operands[2] = x3;
      goto L16111;
    }
  goto ret0;

 L16111: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL)
    goto L29946;
  goto ret0;

 L29946: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 8)
    goto L16112;
 L29947: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1)
    {
      operands[3] = x2;
      goto L20582;
    }
  goto ret0;

 L16112: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29948;
  goto L29947;

 L29948: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 2L:
        goto L16113;
      case 0L:
        goto L16139;
      default:
        break;
      }
  goto L29947;

 L16113: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L16114;
  goto L29947;

 L16114: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16115;
  goto L29947;

 L16115: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L16116;
  goto L29947;

 L16116: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16117;
  goto L29947;

 L16117: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L16118;
  goto L29947;

 L16118: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L16119;
  goto L29947;

 L16119: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 6881 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1553;  /* avx2_interleave_highv8si */
    }
  goto L29947;

 L16139: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L16140;
  goto L29947;

 L16140: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16141;
  goto L29947;

 L16141: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L16142;
  goto L29947;

 L16142: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16143;
  goto L29947;

 L16143: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L16144;
  goto L29947;

 L16144: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L16145;
  goto L29947;

 L16145: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)]
      && 
#line 6915 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1555;  /* avx2_interleave_lowv8si */
    }
  goto L29947;

 L20582: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L20583;
    }
  goto ret0;

 L20583: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12092 "../../gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vperm2f128_parallel (operands[3], V8SImode)))
    {
      return 1878;  /* *avx_vperm2f128v8si_nozero */
    }
  goto ret0;

 L29945: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L16261;
    }
  goto ret0;

 L16261: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L16262;
  goto ret0;

 L16262: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L16263;
    }
  goto ret0;

 L16263: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L16264;
    }
  goto ret0;

 L16264: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L16265;
    }
  goto ret0;

 L16265: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L16266;
    }
  goto ret0;

 L16266: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[6] = x3;
      goto L16267;
    }
  goto ret0;

 L16267: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[7] = x3;
      goto L16268;
    }
  goto ret0;

 L16268: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[8] = x3;
      goto L16269;
    }
  goto ret0;

 L16269: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[9] = x3;
      goto L16270;
    }
  goto ret0;

 L16270: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7164 "../../gcc/config/i386/sse.md"
(TARGET_AVX2
   && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
   && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
   && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
   && INTVAL (operands[5]) + 4 == INTVAL (operands[9])))
    {
      return 1570;  /* avx2_pshufd_1 */
    }
  goto ret0;

 L18421: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L18422;
    }
  goto ret0;

 L18422: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9350 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 201 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1654;  /* absv8si2 */
    }
  goto ret0;

 L18649: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L18650;
    }
  goto ret0;

 L18650: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L18651;
    }
  goto ret0;

 L18651: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18652;
    }
  goto ret0;

 L18652: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9641 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1689;  /* avx2_pblenddv8si */
    }
  goto ret0;

 L18706: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V8QImode:
      goto L29950;
    case V8HImode:
      goto L29951;
    default:
      break;
    }
  goto ret0;

 L29950: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18707;
  goto ret0;

 L18707: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18708;
    }
  goto ret0;

 L18708: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 8)
    goto L18709;
  goto ret0;

 L18709: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18710;
  goto ret0;

 L18710: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18711;
  goto ret0;

 L18711: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18712;
  goto ret0;

 L18712: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18713;
  goto ret0;

 L18713: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 4);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18714;
  goto ret0;

 L18714: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 5);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18715;
  goto ret0;

 L18715: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 6);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18716;
  goto ret0;

 L18716: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 7);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 9704 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1696;  /* avx2_sign_extendv8qiv8si2 */
    }
  goto ret0;

 L29951: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L18755;
    }
  goto ret0;

 L18755: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9731 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1700;  /* avx2_sign_extendv8hiv8si2 */
    }
  goto ret0;

 L18720: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V8QImode:
      goto L29952;
    case V8HImode:
      goto L29953;
    default:
      break;
    }
  goto ret0;

 L29952: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18721;
  goto ret0;

 L18721: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18722;
    }
  goto ret0;

 L18722: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 8)
    goto L18723;
  goto ret0;

 L18723: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18724;
  goto ret0;

 L18724: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18725;
  goto ret0;

 L18725: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18726;
  goto ret0;

 L18726: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L18727;
  goto ret0;

 L18727: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 4);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L18728;
  goto ret0;

 L18728: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 5);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L18729;
  goto ret0;

 L18729: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 6);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L18730;
  goto ret0;

 L18730: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 7);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 9704 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1697;  /* avx2_zero_extendv8qiv8si2 */
    }
  goto ret0;

 L29953: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L18760;
    }
  goto ret0;

 L18760: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9731 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1701;  /* avx2_zero_extendv8hiv8si2 */
    }
  goto ret0;

 L19359: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[3] = x2;
      goto L19360;
    }
  goto ret0;

 L19360: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L19361;
    }
  goto ret0;

 L19361: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L19362;
    }
  goto ret0;

 L19362: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 115 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1752;  /* xop_pcmov_v8si256 */
    }
  goto ret0;

 L20344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L29954;
  goto ret0;

 L29954: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L20345;
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L20415;
    }
  goto ret0;

 L20345: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L20346;
    }
  goto ret0;

 L20346: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20347;
  goto ret0;

 L20347: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 11723 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 153 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1840;  /* avx2_pbroadcastv8si */
    }
  goto ret0;

 L20415: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11837 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1850;  /* vec_dupv8si */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_32 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30003;
    case 2:
      goto L30004;
    case 3:
      goto L30006;
    case 4:
      goto L30008;
    default:
      break;
    }
  goto ret0;

 L30003: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 39L:
      goto L14039;
    case 112L:
      goto L20194;
    default:
      break;
    }
  goto ret0;

 L14039: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case V4SFmode:
      goto L30009;
    case V4DFmode:
      goto L30010;
    default:
      break;
    }
  goto ret0;

 L30009: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14040;
    }
  goto ret0;

 L14040: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2267 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1299;  /* sse2_cvtps2dq */
    }
  goto ret0;

 L30010: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L14147;
    }
  goto ret0;

 L14147: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2531 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1316;  /* avx_cvtpd2dq256 */
    }
  goto ret0;

 L20194: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (ix86_comparison_uns_operator (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20195;
    }
  goto ret0;

 L20195: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L20196;
    }
  goto ret0;

 L20196: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[3] = x3;
      goto L20197;
    }
  goto ret0;

 L20197: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11521 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1817;  /* xop_maskcmp_uns2v4si3 */
    }
  goto ret0;

 L30004: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 96L:
      goto L18356;
    case 40L:
      goto L20810;
    default:
      break;
    }
  goto ret0;

 L18356: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L18357;
    }
  goto ret0;

 L18357: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L18358;
    }
  goto ret0;

 L18358: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9275 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1643;  /* ssse3_psignv4si3 */
    }
  goto ret0;

 L20810: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20811;
    }
  goto ret0;

 L20811: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20812;
    }
  goto ret0;

 L20812: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12312 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 215 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1899;  /* avx2_maskloadd */
    }
  goto ret0;

 L30006: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 113)
    goto L20222;
  goto ret0;

 L20222: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20223;
    }
  goto ret0;

 L20223: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20224;
    }
  goto ret0;

 L20224: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20225;
    }
  goto ret0;

 L20225: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11538 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1821;  /* xop_pcom_tfv4si3 */
    }
  goto ret0;

 L30008: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 135)
    goto L21281;
  goto ret0;

 L21281: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L21282;
    }
  if (GET_CODE (x2) == PC)
    goto L21746;
  goto ret0;

 L21282: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SImode))
    {
      operands[7] = x2;
      goto L21283;
    }
  goto ret0;

 L21283: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30011;
    case DImode:
      goto L30012;
    default:
      break;
    }
  goto ret0;

 L30011: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21284;
  goto ret0;

 L21284: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L21285;
    }
  goto ret0;

 L21285: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30013;
    case V2DImode:
      goto L30014;
    default:
      break;
    }
  goto ret0;

 L30013: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21286;
    }
  goto ret0;

 L21286: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21287;
    }
  goto ret0;

 L21287: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21288;
  goto ret0;

 L21288: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21289;
  goto ret0;

 L21289: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[5] = x2;
      goto L21290;
    }
  goto ret0;

 L21290: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1944;  /* *avx2_gathersiv4si */
    }
  goto ret0;

 L30014: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[4] = x4;
      goto L22214;
    }
  goto ret0;

 L22214: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22215;
    }
  goto ret0;

 L22215: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22216;
  goto ret0;

 L22216: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22217;
  goto ret0;

 L22217: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[5] = x2;
      goto L22218;
    }
  goto ret0;

 L22218: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1976;  /* *avx2_gatherdiv4si */
    }
  goto ret0;

 L30012: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21313;
  goto ret0;

 L21313: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L21314;
    }
  goto ret0;

 L21314: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30015;
    case V2DImode:
      goto L30016;
    default:
      break;
    }
  goto ret0;

 L30015: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21315;
    }
  goto ret0;

 L21315: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21316;
    }
  goto ret0;

 L21316: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21317;
  goto ret0;

 L21317: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21318;
  goto ret0;

 L21318: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[5] = x2;
      goto L21319;
    }
  goto ret0;

 L21319: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1945;  /* *avx2_gathersiv4si */
    }
  goto ret0;

 L30016: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[4] = x4;
      goto L22243;
    }
  goto ret0;

 L22243: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22244;
    }
  goto ret0;

 L22244: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22245;
  goto ret0;

 L22245: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22246;
  goto ret0;

 L22246: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[5] = x2;
      goto L22247;
    }
  goto ret0;

 L22247: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1977;  /* *avx2_gatherdiv4si */
    }
  goto ret0;

 L21746: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SImode))
    {
      operands[6] = x2;
      goto L21747;
    }
  goto ret0;

 L21747: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30017;
    case DImode:
      goto L30018;
    default:
      break;
    }
  goto ret0;

 L30017: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21748;
  goto ret0;

 L21748: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L21749;
    }
  goto ret0;

 L21749: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30019;
    case V2DImode:
      goto L30020;
    default:
      break;
    }
  goto ret0;

 L30019: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21750;
    }
  goto ret0;

 L21750: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21751;
    }
  goto ret0;

 L21751: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21752;
  goto ret0;

 L21752: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21753;
  goto ret0;

 L21753: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L21754;
    }
  goto ret0;

 L21754: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1960;  /* *avx2_gathersiv4si_2 */
    }
  goto ret0;

 L30020: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[3] = x4;
      goto L22678;
    }
  goto ret0;

 L22678: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22679;
    }
  goto ret0;

 L22679: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22680;
  goto ret0;

 L22680: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22681;
  goto ret0;

 L22681: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L22682;
    }
  goto ret0;

 L22682: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1992;  /* *avx2_gatherdiv4si_2 */
    }
  goto ret0;

 L30018: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21777;
  goto ret0;

 L21777: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L21778;
    }
  goto ret0;

 L21778: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30021;
    case V2DImode:
      goto L30022;
    default:
      break;
    }
  goto ret0;

 L30021: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21779;
    }
  goto ret0;

 L21779: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21780;
    }
  goto ret0;

 L21780: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21781;
  goto ret0;

 L21781: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21782;
  goto ret0;

 L21782: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L21783;
    }
  goto ret0;

 L21783: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1961;  /* *avx2_gathersiv4si_2 */
    }
  goto ret0;

 L30022: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[3] = x4;
      goto L22707;
    }
  goto ret0;

 L22707: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22708;
    }
  goto ret0;

 L22708: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22709;
  goto ret0;

 L22709: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22710;
  goto ret0;

 L22710: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L22711;
    }
  goto ret0;

 L22711: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1993;  /* *avx2_gatherdiv4si_2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_33 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case MULT:
      goto L19293;
    case SIGN_EXTEND:
      goto L19444;
    case ZERO_EXTEND:
      goto L19628;
    default:
     break;
   }
  goto ret0;

 L19293: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19294;
  goto ret0;

 L19294: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19295;
  goto ret0;

 L19295: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[1] = x6;
      goto L19296;
    }
  goto ret0;

 L19296: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 4)
    goto L19297;
  goto ret0;

 L19297: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19298;
  goto ret0;

 L19298: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19299;
  goto ret0;

 L19299: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 2);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19300;
  goto ret0;

 L19300: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 3);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19301;
  goto ret0;

 L19301: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19302;
  goto ret0;

 L19302: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19303;
  goto ret0;

 L19303: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[2] = x6;
      goto L19304;
    }
  goto ret0;

 L19304: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 4)
    goto L19305;
  goto ret0;

 L19305: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19306;
  goto ret0;

 L19306: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19307;
  goto ret0;

 L19307: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 2);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19308;
  goto ret0;

 L19308: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 3);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19309;
  goto ret0;

 L19309: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == MULT)
    goto L19310;
  goto ret0;

 L19310: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19311;
  goto ret0;

 L19311: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19312;
  goto ret0;

 L19312: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19313;
  goto ret0;

 L19313: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 4)
    goto L19314;
  goto ret0;

 L19314: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19315;
  goto ret0;

 L19315: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19316;
  goto ret0;

 L19316: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 2);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19317;
  goto ret0;

 L19317: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 3);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19318;
  goto ret0;

 L19318: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19319;
  goto ret0;

 L19319: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19320;
  goto ret0;

 L19320: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L19321;
  goto ret0;

 L19321: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 4)
    goto L19322;
  goto ret0;

 L19322: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19323;
  goto ret0;

 L19323: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19324;
  goto ret0;

 L19324: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 2);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19325;
  goto ret0;

 L19325: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 3);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19326;
  goto ret0;

 L19326: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L19327;
    }
  goto ret0;

 L19327: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10578 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1747;  /* xop_pmadcswd */
    }
  goto ret0;

 L19444: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19445;
  goto ret0;

 L19445: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16QImode))
    {
      operands[1] = x5;
      goto L19446;
    }
  goto ret0;

 L19446: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19447;
  goto ret0;

 L19447: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19448;
  goto ret0;

 L19448: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19449;
  goto ret0;

 L19449: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L19450;
  goto ret0;

 L19450: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L19451;
  goto ret0;

 L19451: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19452;
  goto ret0;

 L19452: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19453;
  goto ret0;

 L19453: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19454;
  goto ret0;

 L19454: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19455;
  goto ret0;

 L19455: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19456;
  goto ret0;

 L19456: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19457;
  goto ret0;

 L19457: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L19458;
  goto ret0;

 L19458: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L19459;
  goto ret0;

 L19459: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == PLUS)
    goto L19460;
  goto ret0;

 L19460: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19461;
  goto ret0;

 L19461: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19462;
  goto ret0;

 L19462: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19463;
  goto ret0;

 L19463: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19464;
  goto ret0;

 L19464: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19465;
  goto ret0;

 L19465: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19466;
  goto ret0;

 L19466: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L19467;
  goto ret0;

 L19467: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L19468;
  goto ret0;

 L19468: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19469;
  goto ret0;

 L19469: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19470;
  goto ret0;

 L19470: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19471;
  goto ret0;

 L19471: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19472;
  goto ret0;

 L19472: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19473;
  goto ret0;

 L19473: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19474;
  goto ret0;

 L19474: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L19475;
  goto ret0;

 L19475: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 10657 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1761;  /* xop_phaddbd */
    }
  goto ret0;

 L19628: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19629;
  goto ret0;

 L19629: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V16QImode))
    {
      operands[1] = x5;
      goto L19630;
    }
  goto ret0;

 L19630: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19631;
  goto ret0;

 L19631: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19632;
  goto ret0;

 L19632: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19633;
  goto ret0;

 L19633: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L19634;
  goto ret0;

 L19634: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L19635;
  goto ret0;

 L19635: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L19636;
  goto ret0;

 L19636: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19637;
  goto ret0;

 L19637: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19638;
  goto ret0;

 L19638: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19639;
  goto ret0;

 L19639: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19640;
  goto ret0;

 L19640: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19641;
  goto ret0;

 L19641: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L19642;
  goto ret0;

 L19642: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L19643;
  goto ret0;

 L19643: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == PLUS)
    goto L19644;
  goto ret0;

 L19644: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L19645;
  goto ret0;

 L19645: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19646;
  goto ret0;

 L19646: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19647;
  goto ret0;

 L19647: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19648;
  goto ret0;

 L19648: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19649;
  goto ret0;

 L19649: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19650;
  goto ret0;

 L19650: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L19651;
  goto ret0;

 L19651: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L19652;
  goto ret0;

 L19652: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L19653;
  goto ret0;

 L19653: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4QImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19654;
  goto ret0;

 L19654: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19655;
  goto ret0;

 L19655: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19656;
  goto ret0;

 L19656: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19657;
  goto ret0;

 L19657: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19658;
  goto ret0;

 L19658: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L19659;
  goto ret0;

 L19659: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 10843 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1767;  /* xop_phaddubd */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_34 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case SUBREG:
      goto L29996;
    case UNSPEC:
      goto L29997;
    case FIX:
      goto L14049;
    case VEC_CONCAT:
      goto L14158;
    case VEC_SELECT:
      goto L14380;
    case PLUS:
      goto L14891;
    case MINUS:
      goto L14897;
    case MULT:
      goto L15251;
    case ASHIFTRT:
      goto L15293;
    case ASHIFT:
      goto L15335;
    case LSHIFTRT:
      goto L15341;
    case SMAX:
      goto L15479;
    case SMIN:
      goto L15485;
    case UMAX:
      goto L15515;
    case UMIN:
      goto L15521;
    case EQ:
      goto L15581;
    case GT:
      goto L15629;
    case AND:
      goto L15670;
    case IOR:
      goto L15787;
    case XOR:
      goto L15793;
    case VEC_MERGE:
      goto L16176;
    case VEC_DUPLICATE:
      goto L16397;
    case ABS:
      goto L18426;
    case SIGN_EXTEND:
      goto L18734;
    case ZERO_EXTEND:
      goto L18744;
    case SS_PLUS:
      goto L19128;
    case IF_THEN_ELSE:
      goto L19366;
    case ROTATE:
      goto L19896;
    case ROTATERT:
      goto L19920;
    default:
     break;
   }
 L29990: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_int_operator (x1, V4SImode))
    {
      operands[1] = x1;
      goto L20144;
    }
 L29991: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_uns_operator (x1, V4SImode))
    {
      operands[1] = x1;
      goto L20168;
    }
  goto ret0;

 L29996: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 0)
    goto L12271;
  goto ret0;

 L12271: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L12272;
    }
  goto ret0;

 L12272: ATTRIBUTE_UNUSED_LABEL
  if (
#line 520 "../../gcc/config/i386/sse.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1090;  /* movdi_to_sse */
    }
  goto ret0;

 L29997: ATTRIBUTE_UNUSED_LABEL
  return recog_32 (x0, insn, pnum_clobbers);

 L14049: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V4SFmode:
      goto L30023;
    case V4DFmode:
      goto L30024;
    default:
      break;
    }
  goto ret0;

 L30023: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14050;
    }
  goto ret0;

 L14050: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2290 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1301;  /* fix_truncv4sfv4si2 */
    }
  goto ret0;

 L30024: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L14166;
    }
  goto ret0;

 L14166: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2592 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1319;  /* fix_truncv4dfv4si2 */
    }
  goto ret0;

 L14158: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SImode)
    goto L30025;
  goto ret0;

 L30025: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      goto L30029;
    case FIX:
      goto L14178;
    case VEC_CONCAT:
      goto L17010;
    case REG:
    case SUBREG:
      goto L30027;
    default:
      goto ret0;
   }
 L30027: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L16426;
    }
  goto ret0;

 L30029: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 39)
    goto L14159;
  goto ret0;

 L14159: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14160;
    }
  goto ret0;

 L14160: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L14161;
    }
  goto ret0;

 L14161: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2573 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1318;  /* *sse2_cvtpd2dq */
    }
  goto ret0;

 L14178: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14179;
    }
  goto ret0;

 L14179: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L14180;
    }
  goto ret0;

 L14180: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2630 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1321;  /* *sse2_cvttpd2dq */
    }
  goto ret0;

 L17010: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L30030;
  goto ret0;

 L30030: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L17011;
    case MINUS:
      goto L17720;
    default:
     break;
   }
  goto ret0;

 L17011: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17012;
  goto ret0;

 L17012: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4SImode))
    {
      operands[1] = x5;
      goto L17013;
    }
  goto ret0;

 L17013: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17014;
  goto ret0;

 L17014: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17015;
  goto ret0;

 L17015: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17016;
  goto ret0;

 L17016: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17017;
  goto ret0;

 L17017: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17018;
  goto ret0;

 L17018: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17019;
  goto ret0;

 L17019: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L17020;
  goto ret0;

 L17020: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17021;
  goto ret0;

 L17021: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17022;
  goto ret0;

 L17022: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17023;
  goto ret0;

 L17023: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17024;
  goto ret0;

 L17024: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17025;
  goto ret0;

 L17025: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17026;
  goto ret0;

 L17026: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17027;
  goto ret0;

 L17027: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17028;
  goto ret0;

 L17028: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2SImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17029;
  goto ret0;

 L17029: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L17030;
  goto ret0;

 L17030: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17031;
  goto ret0;

 L17031: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SImode))
    {
      operands[2] = x5;
      goto L17032;
    }
  goto ret0;

 L17032: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17033;
  goto ret0;

 L17033: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17034;
  goto ret0;

 L17034: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17035;
  goto ret0;

 L17035: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17036;
  goto ret0;

 L17036: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17037;
  goto ret0;

 L17037: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17038;
  goto ret0;

 L17038: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L17039;
  goto ret0;

 L17039: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17040;
  goto ret0;

 L17040: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17041;
  goto ret0;

 L17041: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17042;
  goto ret0;

 L17042: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17043;
  goto ret0;

 L17043: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17044;
  goto ret0;

 L17044: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17045;
  goto ret0;

 L17045: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17046;
  goto ret0;

 L17046: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 8323 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1615;  /* ssse3_phadddv4si3 */
    }
  goto ret0;

 L17720: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17721;
  goto ret0;

 L17721: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4SImode))
    {
      operands[1] = x5;
      goto L17722;
    }
  goto ret0;

 L17722: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17723;
  goto ret0;

 L17723: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17724;
  goto ret0;

 L17724: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17725;
  goto ret0;

 L17725: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17726;
  goto ret0;

 L17726: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17727;
  goto ret0;

 L17727: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17728;
  goto ret0;

 L17728: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == MINUS)
    goto L17729;
  goto ret0;

 L17729: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17730;
  goto ret0;

 L17730: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17731;
  goto ret0;

 L17731: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17732;
  goto ret0;

 L17732: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17733;
  goto ret0;

 L17733: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17734;
  goto ret0;

 L17734: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L17735;
  goto ret0;

 L17735: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17736;
  goto ret0;

 L17736: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L17737;
  goto ret0;

 L17737: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2SImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L17738;
  goto ret0;

 L17738: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == MINUS)
    goto L17739;
  goto ret0;

 L17739: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17740;
  goto ret0;

 L17740: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SImode))
    {
      operands[2] = x5;
      goto L17741;
    }
  goto ret0;

 L17741: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17742;
  goto ret0;

 L17742: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L17743;
  goto ret0;

 L17743: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17744;
  goto ret0;

 L17744: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17745;
  goto ret0;

 L17745: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17746;
  goto ret0;

 L17746: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L17747;
  goto ret0;

 L17747: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == MINUS)
    goto L17748;
  goto ret0;

 L17748: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17749;
  goto ret0;

 L17749: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17750;
  goto ret0;

 L17750: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17751;
  goto ret0;

 L17751: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L17752;
  goto ret0;

 L17752: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L17753;
  goto ret0;

 L17753: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L17754;
  goto ret0;

 L17754: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L17755;
  goto ret0;

 L17755: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 8729 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1624;  /* ssse3_phsubdv4si3 */
    }
  goto ret0;

 L16426: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[2] = x2;
      goto L16427;
    }
  goto ret0;

 L16427: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7660 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1588;  /* *vec_concatv4si */
    }
  goto ret0;

 L14380: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V8SImode:
      goto L30032;
    case V4SImode:
      goto L30033;
    default:
      break;
    }
  goto ret0;

 L30032: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case VEC_CONCAT:
      goto L14381;
    case UNSPEC:
      goto L30035;
    default:
     break;
   }
  goto ret0;

 L14381: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L14382;
    }
  goto ret0;

 L14382: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L14383;
    }
  goto ret0;

 L14383: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14384;
  goto ret0;

 L14384: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30036;
  goto ret0;

 L30036: ATTRIBUTE_UNUSED_LABEL
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L14385;
    }
 L30037: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 2L:
        goto L16128;
      case 0L:
        goto L16154;
      default:
        break;
      }
  goto ret0;

 L14385: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L14386;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L30037;

 L14386: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L14387;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L30037;

 L14387: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[6] = x3;
      goto L14388;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L30037;

 L14388: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3581 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1340;  /* sse_shufps_v4si */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L30037;

 L16128: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L16129;
  goto ret0;

 L16129: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L16130;
  goto ret0;

 L16130: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 6895 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1554;  /* vec_interleave_highv4si */
    }
  goto ret0;

 L16154: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L16155;
  goto ret0;

 L16155: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L16156;
  goto ret0;

 L16156: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)]
      && 
#line 6929 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1556;  /* vec_interleave_lowv4si */
    }
  goto ret0;

 L30035: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L22912;
  goto ret0;

 L22912: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L22913;
    }
  if (GET_CODE (x3) == PC)
    goto L23073;
  goto ret0;

 L22913: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SImode))
    {
      operands[7] = x3;
      goto L22914;
    }
  goto ret0;

 L22914: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L30039;
    case DImode:
      goto L30040;
    default:
      break;
    }
  goto ret0;

 L30039: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L22915;
  goto ret0;

 L22915: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L22916;
    }
  goto ret0;

 L22916: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22917;
    }
  goto ret0;

 L22917: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22918;
    }
  goto ret0;

 L22918: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22919;
  goto ret0;

 L22919: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22920;
  goto ret0;

 L22920: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[5] = x3;
      goto L22921;
    }
  goto ret0;

 L22921: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L22922;
  goto ret0;

 L22922: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L22923;
  goto ret0;

 L22923: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L22924;
  goto ret0;

 L22924: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L22925;
  goto ret0;

 L22925: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 12705 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2000;  /* *avx2_gatherdiv8si_3 */
    }
  goto ret0;

 L30040: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L22955;
  goto ret0;

 L22955: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L22956;
    }
  goto ret0;

 L22956: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22957;
    }
  goto ret0;

 L22957: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22958;
    }
  goto ret0;

 L22958: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22959;
  goto ret0;

 L22959: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22960;
  goto ret0;

 L22960: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[5] = x3;
      goto L22961;
    }
  goto ret0;

 L22961: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L22962;
  goto ret0;

 L22962: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L22963;
  goto ret0;

 L22963: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L22964;
  goto ret0;

 L22964: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L22965;
  goto ret0;

 L22965: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 12705 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2001;  /* *avx2_gatherdiv8si_3 */
    }
  goto ret0;

 L23073: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SImode))
    {
      operands[6] = x3;
      goto L23074;
    }
  goto ret0;

 L23074: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L30041;
    case DImode:
      goto L30042;
    default:
      break;
    }
  goto ret0;

 L30041: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L23075;
  goto ret0;

 L23075: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L23076;
    }
  goto ret0;

 L23076: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L23077;
    }
  goto ret0;

 L23077: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L23078;
    }
  goto ret0;

 L23078: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L23079;
  goto ret0;

 L23079: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L23080;
  goto ret0;

 L23080: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[4] = x3;
      goto L23081;
    }
  goto ret0;

 L23081: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L23082;
  goto ret0;

 L23082: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23083;
  goto ret0;

 L23083: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23084;
  goto ret0;

 L23084: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23085;
  goto ret0;

 L23085: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 12728 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2004;  /* *avx2_gatherdiv8si_4 */
    }
  goto ret0;

 L30042: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L23115;
  goto ret0;

 L23115: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L23116;
    }
  goto ret0;

 L23116: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L23117;
    }
  goto ret0;

 L23117: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L23118;
    }
  goto ret0;

 L23118: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L23119;
  goto ret0;

 L23119: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L23120;
  goto ret0;

 L23120: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[4] = x3;
      goto L23121;
    }
  goto ret0;

 L23121: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L23122;
  goto ret0;

 L23122: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23123;
  goto ret0;

 L23123: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23124;
  goto ret0;

 L23124: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23125;
  goto ret0;

 L23125: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 12728 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2005;  /* *avx2_gatherdiv8si_4 */
    }
  goto ret0;

 L30033: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L16275;
    }
  goto ret0;

 L16275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L16276;
  goto ret0;

 L16276: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L16277;
    }
  goto ret0;

 L16277: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L16278;
    }
  goto ret0;

 L16278: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L16279;
    }
  goto ret0;

 L16279: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L16280;
    }
  goto ret0;

 L16280: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7207 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1571;  /* sse2_pshufd_1 */
    }
  goto ret0;

 L14891: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L30044;
  goto ret0;

 L30044: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MULT:
      goto L15209;
    case PLUS:
      goto L19292;
    case SIGN_EXTEND:
      goto L19537;
    case ZERO_EXTEND:
      goto L19721;
    case REG:
    case SUBREG:
    case MEM:
      goto L30043;
    default:
      goto ret0;
   }
 L30043: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L14892;
    }
  goto ret0;

 L15209: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode)
    goto L30048;
  goto ret0;

 L30048: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == SIGN_EXTEND)
    goto L15210;
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L19122;
    }
  goto ret0;

 L15210: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L15211;
  goto ret0;

 L15211: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[1] = x5;
      goto L15212;
    }
  goto ret0;

 L15212: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L15213;
  goto ret0;

 L15213: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (GET_CODE (x6) == CONST_INT)
    goto L30050;
  goto ret0;

 L30050: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x6, 0) == XWINT (x6, 0))
    switch ((int) XWINT (x6, 0))
      {
      case 0L:
        goto L15214;
      case 1L:
        goto L19235;
      default:
        break;
      }
  goto ret0;

 L15214: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15215;
  goto ret0;

 L15215: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15216;
  goto ret0;

 L15216: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L15217;
  goto ret0;

 L15217: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L15218;
  goto ret0;

 L15218: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L15219;
  goto ret0;

 L15219: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[2] = x5;
      goto L15220;
    }
  goto ret0;

 L15220: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L15221;
  goto ret0;

 L15221: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15222;
  goto ret0;

 L15222: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15223;
  goto ret0;

 L15223: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15224;
  goto ret0;

 L15224: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L15225;
  goto ret0;

 L15225: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == MULT)
    goto L15226;
  goto ret0;

 L15226: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L15227;
  goto ret0;

 L15227: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L15228;
  goto ret0;

 L15228: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L15229;
  goto ret0;

 L15229: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L15230;
  goto ret0;

 L15230: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L15231;
  goto ret0;

 L15231: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L15232;
  goto ret0;

 L15232: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L15233;
  goto ret0;

 L15233: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L15234;
  goto ret0;

 L15234: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L15235;
  goto ret0;

 L15235: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L15236;
  goto ret0;

 L15236: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L15237;
  goto ret0;

 L15237: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L15238;
  goto ret0;

 L15238: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L15239;
  goto ret0;

 L15239: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L15240;
  goto ret0;

 L15240: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L15241;
  goto ret0;

 L15241: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 5386 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V8HImode, operands)))
    {
      return 1437;  /* *sse2_pmaddwd */
    }
  goto ret0;

 L19235: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19236;
  goto ret0;

 L19236: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19237;
  goto ret0;

 L19237: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19238;
  goto ret0;

 L19238: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19239;
  goto ret0;

 L19239: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19240;
  goto ret0;

 L19240: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[2] = x5;
      goto L19241;
    }
  goto ret0;

 L19241: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19242;
  goto ret0;

 L19242: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19243;
  goto ret0;

 L19243: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19244;
  goto ret0;

 L19244: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19245;
  goto ret0;

 L19245: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19246;
  goto ret0;

 L19246: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L19247;
    }
  goto ret0;

 L19247: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10498 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1745;  /* xop_pmacswd */
    }
  goto ret0;

 L19122: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L19123;
    }
  goto ret0;

 L19123: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L19124;
    }
  goto ret0;

 L19124: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10359 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1738;  /* xop_pmacsdd */
    }
  goto ret0;

 L19292: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode)
    goto L30052;
  goto ret0;

 L30052: ATTRIBUTE_UNUSED_LABEL
  return recog_33 (x0, insn, pnum_clobbers);

 L19537: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19538;
  goto ret0;

 L19538: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V8HImode))
    {
      operands[1] = x4;
      goto L19539;
    }
  goto ret0;

 L19539: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L19540;
  goto ret0;

 L19540: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19541;
  goto ret0;

 L19541: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19542;
  goto ret0;

 L19542: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19543;
  goto ret0;

 L19543: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19544;
  goto ret0;

 L19544: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L19545;
  goto ret0;

 L19545: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19546;
  goto ret0;

 L19546: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19547;
  goto ret0;

 L19547: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L19548;
  goto ret0;

 L19548: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19549;
  goto ret0;

 L19549: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19550;
  goto ret0;

 L19550: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19551;
  goto ret0;

 L19551: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 10731 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1763;  /* xop_phaddwd */
    }
  goto ret0;

 L19721: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19722;
  goto ret0;

 L19722: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V8HImode))
    {
      operands[1] = x4;
      goto L19723;
    }
  goto ret0;

 L19723: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L19724;
  goto ret0;

 L19724: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19725;
  goto ret0;

 L19725: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19726;
  goto ret0;

 L19726: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19727;
  goto ret0;

 L19727: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19728;
  goto ret0;

 L19728: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L19729;
  goto ret0;

 L19729: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19730;
  goto ret0;

 L19730: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19731;
  goto ret0;

 L19731: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L19732;
  goto ret0;

 L19732: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19733;
  goto ret0;

 L19733: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19734;
  goto ret0;

 L19734: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19735;
  goto ret0;

 L19735: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 10917 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1769;  /* xop_phadduwd */
    }
  goto ret0;

 L14892: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L14893;
    }
  goto ret0;

 L14893: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4921 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V4SImode, operands)))
    {
      return 1402;  /* *addv4si3 */
    }
  goto ret0;

 L14897: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L30056;
  goto ret0;

 L30056: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == SIGN_EXTEND)
    goto L19811;
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L14898;
    }
  goto ret0;

 L19811: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19812;
  goto ret0;

 L19812: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V8HImode))
    {
      operands[1] = x4;
      goto L19813;
    }
  goto ret0;

 L19813: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L19814;
  goto ret0;

 L19814: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19815;
  goto ret0;

 L19815: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19816;
  goto ret0;

 L19816: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19817;
  goto ret0;

 L19817: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19818;
  goto ret0;

 L19818: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L19819;
  goto ret0;

 L19819: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19820;
  goto ret0;

 L19820: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19821;
  goto ret0;

 L19821: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L19822;
  goto ret0;

 L19822: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19823;
  goto ret0;

 L19823: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19824;
  goto ret0;

 L19824: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19825;
  goto ret0;

 L19825: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 11013 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1773;  /* xop_phsubwd */
    }
  goto ret0;

 L14898: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L14899;
    }
  goto ret0;

 L14899: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4921 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4SImode, operands)))
    {
      return 1403;  /* *subv4si3 */
    }
  goto ret0;

 L15251: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L30057;
  goto ret0;

 L30057: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15252;
    }
 L30058: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15258;
    }
  goto ret0;

 L15252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15253;
    }
  x2 = XEXP (x1, 0);
  goto L30058;

 L15253: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5411 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands)))
    {
      return 1439;  /* *sse4_1_mulv4si3 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30058;

 L15258: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15259;
    }
  goto ret0;

 L15259: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5425 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_SSE4_1 && !TARGET_AVX
   && can_create_pseudo_p ()))
    {
      return 1440;  /* *sse2_mulv4si3 */
    }
  goto ret0;

 L15293: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20904;
    }
  goto ret0;

 L20904: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20905;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15295;
    }
  goto ret0;

 L20905: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12416 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1915;  /* avx2_ashrvv4si */
    }
  goto ret0;

 L15295: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5844 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1446;  /* ashrv4si3 */
    }
  goto ret0;

 L15335: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20922;
    }
  goto ret0;

 L20922: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20923;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15337;
    }
  goto ret0;

 L20923: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12427 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1918;  /* avx2_ashlvv4si */
    }
  goto ret0;

 L15337: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1453;  /* ashlv4si3 */
    }
  goto ret0;

 L15341: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20928;
    }
  goto ret0;

 L20928: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20929;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15343;
    }
  goto ret0;

 L20929: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12427 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1919;  /* avx2_lshrvv4si */
    }
  goto ret0;

 L15343: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1454;  /* lshrv4si3 */
    }
  goto ret0;

 L15479: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15480;
    }
  goto ret0;

 L15480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15481;
    }
  goto ret0;

 L15481: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6052 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (SMAX, V4SImode, operands)))
    {
      return 1477;  /* *sse4_1_smaxv4si3 */
    }
  goto ret0;

 L15485: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15486;
    }
  goto ret0;

 L15486: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15487;
    }
  goto ret0;

 L15487: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6052 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (SMIN, V4SImode, operands)))
    {
      return 1478;  /* *sse4_1_sminv4si3 */
    }
  goto ret0;

 L15515: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15516;
    }
  goto ret0;

 L15516: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15517;
    }
  goto ret0;

 L15517: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6133 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (UMAX, V4SImode, operands)))
    {
      return 1483;  /* *sse4_1_umaxv4si3 */
    }
  goto ret0;

 L15521: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15522;
    }
  goto ret0;

 L15522: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15523;
    }
  goto ret0;

 L15523: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6133 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (UMIN, V4SImode, operands)))
    {
      return 1484;  /* *sse4_1_uminv4si3 */
    }
  goto ret0;

 L15581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15582;
    }
  goto L29990;

 L15582: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15583;
    }
  goto L29990;

 L15583: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6205 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP
   && ix86_binary_operator_ok (EQ, V4SImode, operands)))
    {
      return 1494;  /* *sse2_eqv4si3 */
    }
  x1 = XEXP (x0, 1);
  goto L29990;

 L15629: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15630;
    }
  goto L29990;

 L15630: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15631;
    }
  goto L29990;

 L15631: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6264 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP))
    {
      return 1502;  /* sse2_gtv4si3 */
    }
  x1 = XEXP (x0, 1);
  goto L29990;

 L15670: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L30059;
  goto ret0;

 L30059: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15671;
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15782;
    }
  goto ret0;

 L15671: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L15672;
    }
  goto ret0;

 L15672: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15673;
    }
  goto ret0;

 L15673: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6443 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1508;  /* *andnotv4si3 */
    }
  goto ret0;

 L15782: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15783;
    }
  goto ret0;

 L15783: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (AND, V4SImode, operands)))
    {
      return 1526;  /* *andv4si3 */
    }
  goto ret0;

 L15787: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15788;
    }
  goto ret0;

 L15788: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15789;
    }
  goto ret0;

 L15789: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (IOR, V4SImode, operands)))
    {
      return 1527;  /* *iorv4si3 */
    }
  goto ret0;

 L15793: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L15794;
    }
  goto ret0;

 L15794: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L15795;
    }
  goto ret0;

 L15795: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (XOR, V4SImode, operands)))
    {
      return 1528;  /* *xorv4si3 */
    }
  goto ret0;

 L16176: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L30061;
  goto ret0;

 L30061: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_DUPLICATE)
    goto L16177;
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L18657;
    }
  goto ret0;

 L16177: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L16178;
    }
  goto ret0;

 L16178: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L16179;
    }
 L16356: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_0_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L16357;
    }
  goto ret0;

 L16179: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L16180;
    }
  x2 = XEXP (x1, 1);
  goto L16356;

 L16180: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6989 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V4SImode))) && 
#line 6974 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1)))
    {
      return 1559;  /* sse4_1_pinsrd */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L16356;

 L16357: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 7449 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1576;  /* sse2_loadld */
    }
  goto ret0;

 L18657: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L18658;
    }
  goto ret0;

 L18658: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18659;
    }
  goto ret0;

 L18659: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9641 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1690;  /* avx2_pblenddv4si */
    }
  goto ret0;

 L16397: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode)
    goto L30064;
  goto ret0;

 L30064: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L20352;
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L16398;
    }
  goto ret0;

 L20352: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L20353;
    }
  goto ret0;

 L20353: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20354;
  goto ret0;

 L20354: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11723 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1841;  /* avx2_pbroadcastv4si */
    }
  goto ret0;

 L16398: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7576 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1583;  /* *vec_dupv4si */
    }
  goto ret0;

 L18426: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L18427;
    }
  goto ret0;

 L18427: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9350 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1655;  /* absv4si2 */
    }
  goto ret0;

 L18734: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V4QImode:
      goto L30065;
    case V4HImode:
      goto L30066;
    default:
      break;
    }
  goto ret0;

 L30065: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18735;
  goto ret0;

 L18735: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18736;
    }
  goto ret0;

 L18736: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L18737;
  goto ret0;

 L18737: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18738;
  goto ret0;

 L18738: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18739;
  goto ret0;

 L18739: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18740;
  goto ret0;

 L18740: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 9720 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1698;  /* sse4_1_sign_extendv4qiv4si2 */
    }
  goto ret0;

 L30066: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18765;
  goto ret0;

 L18765: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L18766;
    }
  goto ret0;

 L18766: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L18767;
  goto ret0;

 L18767: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18768;
  goto ret0;

 L18768: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18769;
  goto ret0;

 L18769: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18770;
  goto ret0;

 L18770: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 9747 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1702;  /* sse4_1_sign_extendv4hiv4si2 */
    }
  goto ret0;

 L18744: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V4QImode:
      goto L30067;
    case V4HImode:
      goto L30068;
    default:
      break;
    }
  goto ret0;

 L30067: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18745;
  goto ret0;

 L18745: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18746;
    }
  goto ret0;

 L18746: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L18747;
  goto ret0;

 L18747: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18748;
  goto ret0;

 L18748: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18749;
  goto ret0;

 L18749: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18750;
  goto ret0;

 L18750: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 9720 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1699;  /* sse4_1_zero_extendv4qiv4si2 */
    }
  goto ret0;

 L30068: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18775;
  goto ret0;

 L18775: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L18776;
    }
  goto ret0;

 L18776: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L18777;
  goto ret0;

 L18777: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18778;
  goto ret0;

 L18778: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18779;
  goto ret0;

 L18779: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18780;
  goto ret0;

 L18780: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 9747 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1703;  /* sse4_1_zero_extendv4hiv4si2 */
    }
  goto ret0;

 L19128: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L30069;
  goto ret0;

 L30069: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MULT:
      goto L19129;
    case PLUS:
      goto L19252;
    default:
     break;
   }
  goto ret0;

 L19129: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode)
    goto L30072;
  goto ret0;

 L30072: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == SIGN_EXTEND)
    goto L19209;
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L19130;
    }
  goto ret0;

 L19209: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19210;
  goto ret0;

 L19210: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[1] = x5;
      goto L19211;
    }
  goto ret0;

 L19211: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19212;
  goto ret0;

 L19212: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19213;
  goto ret0;

 L19213: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19214;
  goto ret0;

 L19214: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19215;
  goto ret0;

 L19215: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19216;
  goto ret0;

 L19216: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19217;
  goto ret0;

 L19217: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19218;
  goto ret0;

 L19218: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[2] = x5;
      goto L19219;
    }
  goto ret0;

 L19219: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 4)
    goto L19220;
  goto ret0;

 L19220: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19221;
  goto ret0;

 L19221: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19222;
  goto ret0;

 L19222: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19223;
  goto ret0;

 L19223: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 3);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19224;
  goto ret0;

 L19224: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L19225;
    }
  goto ret0;

 L19225: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10474 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1744;  /* xop_pmacsswd */
    }
  goto ret0;

 L19130: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L19131;
    }
  goto ret0;

 L19131: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L19132;
    }
  goto ret0;

 L19132: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10370 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1739;  /* xop_pmacssdd */
    }
  goto ret0;

 L19252: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == MULT)
    goto L19253;
  goto ret0;

 L19253: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19254;
  goto ret0;

 L19254: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19255;
  goto ret0;

 L19255: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[1] = x6;
      goto L19256;
    }
  goto ret0;

 L19256: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 4)
    goto L19257;
  goto ret0;

 L19257: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19258;
  goto ret0;

 L19258: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19259;
  goto ret0;

 L19259: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 2);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19260;
  goto ret0;

 L19260: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 3);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19261;
  goto ret0;

 L19261: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19262;
  goto ret0;

 L19262: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19263;
  goto ret0;

 L19263: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8HImode))
    {
      operands[2] = x6;
      goto L19264;
    }
  goto ret0;

 L19264: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 4)
    goto L19265;
  goto ret0;

 L19265: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19266;
  goto ret0;

 L19266: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19267;
  goto ret0;

 L19267: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 2);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19268;
  goto ret0;

 L19268: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 3);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19269;
  goto ret0;

 L19269: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == MULT)
    goto L19270;
  goto ret0;

 L19270: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19271;
  goto ret0;

 L19271: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19272;
  goto ret0;

 L19272: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19273;
  goto ret0;

 L19273: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 4)
    goto L19274;
  goto ret0;

 L19274: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19275;
  goto ret0;

 L19275: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19276;
  goto ret0;

 L19276: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 2);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19277;
  goto ret0;

 L19277: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 3);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19278;
  goto ret0;

 L19278: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V4SImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19279;
  goto ret0;

 L19279: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V4HImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19280;
  goto ret0;

 L19280: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L19281;
  goto ret0;

 L19281: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 4)
    goto L19282;
  goto ret0;

 L19282: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19283;
  goto ret0;

 L19283: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19284;
  goto ret0;

 L19284: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 2);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19285;
  goto ret0;

 L19285: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 3);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19286;
  goto ret0;

 L19286: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L19287;
    }
  goto ret0;

 L19287: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10538 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1746;  /* xop_pmadcsswd */
    }
  goto ret0;

 L19366: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L30074;
  goto ret0;

 L30074: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == GE)
    goto L19959;
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L19367;
    }
  goto ret0;

 L19959: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L19960;
    }
  goto ret0;

 L19960: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19961;
  goto ret0;

 L19961: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode)
    goto L30075;
  goto ret0;

 L30075: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ROTATE:
      goto L19962;
    case ASHIFT:
      goto L20014;
    default:
     break;
   }
  goto ret0;

 L19962: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L19963;
    }
  goto ret0;

 L19963: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L19964;
  goto ret0;

 L19964: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == ROTATERT)
    goto L19965;
  goto ret0;

 L19965: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L19966;
  goto ret0;

 L19966: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == NEG)
    goto L19967;
  goto ret0;

 L19967: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11212 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1789;  /* xop_vrotlv4si3 */
    }
  goto ret0;

 L20014: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L20015;
    }
  goto ret0;

 L20015: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L20016;
  goto ret0;

 L20016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V4SImode)
    goto L30077;
  goto ret0;

 L30077: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFTRT:
      goto L20017;
    case LSHIFTRT:
      goto L20069;
    default:
     break;
   }
  goto ret0;

 L20017: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L20018;
  goto ret0;

 L20018: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == NEG)
    goto L20019;
  goto ret0;

 L20019: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11335 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1793;  /* xop_shav4si3 */
    }
  goto ret0;

 L20069: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L20070;
  goto ret0;

 L20070: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == NEG)
    goto L20071;
  goto ret0;

 L20071: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11354 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1797;  /* xop_shlv4si3 */
    }
  goto ret0;

 L19367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L19368;
    }
  goto ret0;

 L19368: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L19369;
    }
  goto ret0;

 L19369: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1753;  /* xop_pcmov_v4si */
    }
  goto ret0;

 L19896: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L19897;
    }
  goto ret0;

 L19897: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_31_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L19898;
    }
  goto ret0;

 L19898: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11157 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1781;  /* xop_rotlv4si3 */
    }
  goto ret0;

 L19920: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L19921;
    }
  goto ret0;

 L19921: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_31_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L19922;
    }
  goto ret0;

 L19922: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11168 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1785;  /* xop_rotrv4si3 */
    }
  goto ret0;

 L20144: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20145;
    }
  goto L29991;

 L20145: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L20146;
    }
  goto L29991;

 L20146: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11488 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1809;  /* xop_maskcmpv4si3 */
    }
  x1 = XEXP (x0, 1);
  goto L29991;

 L20168: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20169;
    }
  goto ret0;

 L20169: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L20170;
    }
  goto ret0;

 L20170: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11502 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1813;  /* xop_maskcmp_unsv4si3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_35 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case VEC_SELECT:
      goto L14713;
    case PLUS:
      goto L14903;
    case MINUS:
      goto L14909;
    case MULT:
      goto L15087;
    case ASHIFT:
      goto L15347;
    case LSHIFTRT:
      goto L15353;
    case EQ:
      goto L15557;
    case GT:
      goto L15611;
    case AND:
      goto L15677;
    case IOR:
      goto L15805;
    case XOR:
      goto L15811;
    case UNSPEC:
      goto L30106;
    case SIGN_EXTEND:
      goto L18784;
    case ZERO_EXTEND:
      goto L18794;
    case IF_THEN_ELSE:
      goto L19373;
    case VEC_DUPLICATE:
      goto L20358;
    case VEC_CONCAT:
      goto L20449;
    default:
     break;
   }
  goto ret0;

 L14713: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V8DImode:
      goto L30111;
    case V4DImode:
      goto L30112;
    default:
      break;
    }
  goto ret0;

 L30111: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L14714;
  goto ret0;

 L14714: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4DImode))
    {
      operands[1] = x3;
      goto L14715;
    }
  goto ret0;

 L14715: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4DImode))
    {
      operands[2] = x3;
      goto L14716;
    }
  goto ret0;

 L14716: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14717;
  goto ret0;

 L14717: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30113;
  goto ret0;

 L30113: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L14718;
      case 0L:
        goto L14738;
      default:
        break;
      }
  goto ret0;

 L14718: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14719;
  goto ret0;

 L14719: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L14720;
  goto ret0;

 L14720: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 4510 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1377;  /* avx2_interleave_highv4di */
    }
  goto ret0;

 L14738: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14739;
  goto ret0;

 L14739: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14740;
  goto ret0;

 L14740: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)]
      && 
#line 4544 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1379;  /* avx2_interleave_lowv4di */
    }
  goto ret0;

 L30112: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L20391;
    }
  goto ret0;

 L20391: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L20392;
  goto ret0;

 L20392: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L20393;
    }
  goto ret0;

 L20393: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L20394;
    }
  goto ret0;

 L20394: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L20395;
    }
  goto ret0;

 L20395: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L20396;
    }
  goto ret0;

 L20396: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11790 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1847;  /* avx2_permv4di_1 */
    }
  goto ret0;

 L14903: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L14904;
    }
  goto ret0;

 L14904: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L14905;
    }
  goto ret0;

 L14905: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V4DImode, operands)) && (TARGET_AVX2)))
    {
      return 1404;  /* *addv4di3 */
    }
  goto ret0;

 L14909: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L14910;
    }
  goto ret0;

 L14910: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L14911;
    }
  goto ret0;

 L14911: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4DImode, operands)) && (TARGET_AVX2)))
    {
      return 1405;  /* *subv4di3 */
    }
  goto ret0;

 L15087: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DImode)
    goto L30115;
  goto ret0;

 L30115: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L15088;
    case SIGN_EXTEND:
      goto L15122;
    case REG:
    case SUBREG:
      goto L30117;
    default:
      goto ret0;
   }
 L30117: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L15264;
    }
  goto ret0;

 L15088: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L15089;
  goto ret0;

 L15089: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V8SImode))
    {
      operands[1] = x4;
      goto L15090;
    }
  goto ret0;

 L15090: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L15091;
  goto ret0;

 L15091: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15092;
  goto ret0;

 L15092: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15093;
  goto ret0;

 L15093: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15094;
  goto ret0;

 L15094: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L15095;
  goto ret0;

 L15095: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L15096;
  goto ret0;

 L15096: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L15097;
  goto ret0;

 L15097: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V8SImode))
    {
      operands[2] = x4;
      goto L15098;
    }
  goto ret0;

 L15098: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L15099;
  goto ret0;

 L15099: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15100;
  goto ret0;

 L15100: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15101;
  goto ret0;

 L15101: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15102;
  goto ret0;

 L15102: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)]
      && 
#line 5104 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (MULT, V8SImode, operands)))
    {
      return 1432;  /* *avx_umulv4siv4di3 */
    }
  goto ret0;

 L15122: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L15123;
  goto ret0;

 L15123: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V8SImode))
    {
      operands[1] = x4;
      goto L15124;
    }
  goto ret0;

 L15124: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L15125;
  goto ret0;

 L15125: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15126;
  goto ret0;

 L15126: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15127;
  goto ret0;

 L15127: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15128;
  goto ret0;

 L15128: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L15129;
  goto ret0;

 L15129: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4DImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L15130;
  goto ret0;

 L15130: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L15131;
  goto ret0;

 L15131: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V8SImode))
    {
      operands[2] = x4;
      goto L15132;
    }
  goto ret0;

 L15132: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 4)
    goto L15133;
  goto ret0;

 L15133: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15134;
  goto ret0;

 L15134: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15135;
  goto ret0;

 L15135: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L15136;
  goto ret0;

 L15136: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 3);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (6)]
      && 
#line 5174 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (MULT, V8SImode, operands)))
    {
      return 1434;  /* *avx2_mulv4siv4di3 */
    }
  goto ret0;

 L15264: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L15265;
    }
  goto ret0;

 L15265: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5481 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && can_create_pseudo_p ()) && 
#line 180 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1441;  /* mulv4di3 */
    }
  goto ret0;

 L15347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L20934;
    }
  goto ret0;

 L20934: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L20935;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15349;
    }
  goto ret0;

 L20935: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12427 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1920;  /* avx2_ashlvv4di */
    }
  goto ret0;

 L15349: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 206 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1455;  /* ashlv4di3 */
    }
  goto ret0;

 L15353: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L20940;
    }
  goto ret0;

 L20940: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L20941;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15355;
    }
  goto ret0;

 L20941: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12427 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1921;  /* avx2_lshrvv4di */
    }
  goto ret0;

 L15355: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 206 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1456;  /* lshrv4di3 */
    }
  goto ret0;

 L15557: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L15558;
    }
  goto ret0;

 L15558: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L15559;
    }
  goto ret0;

 L15559: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6178 "../../gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (EQ, V4DImode, operands)))
    {
      return 1490;  /* *avx2_eqv4di3 */
    }
  goto ret0;

 L15611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L15612;
    }
  goto ret0;

 L15612: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L15613;
    }
  goto ret0;

 L15613: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6252 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1499;  /* avx2_gtv4di3 */
    }
  goto ret0;

 L15677: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DImode)
    goto L30118;
  goto ret0;

 L30118: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15678;
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L15800;
    }
  goto ret0;

 L15678: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4DImode))
    {
      operands[1] = x3;
      goto L15679;
    }
  goto ret0;

 L15679: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L15680;
    }
  goto ret0;

 L15680: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6443 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 154 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1509;  /* *andnotv4di3 */
    }
  goto ret0;

 L15800: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L15801;
    }
  goto ret0;

 L15801: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (AND, V4DImode, operands)) && (TARGET_AVX)))
    {
      return 1529;  /* *andv4di3 */
    }
  goto ret0;

 L15805: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L15806;
    }
  goto ret0;

 L15806: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L15807;
    }
  goto ret0;

 L15807: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (IOR, V4DImode, operands)) && (TARGET_AVX)))
    {
      return 1530;  /* *iorv4di3 */
    }
  goto ret0;

 L15811: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L15812;
    }
  goto ret0;

 L15812: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L15813;
    }
  goto ret0;

 L15813: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE
   && ix86_binary_operator_ok (XOR, V4DImode, operands)) && (TARGET_AVX)))
    {
      return 1531;  /* *xorv4di3 */
    }
  goto ret0;

 L30106: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 2:
      goto L30120;
    case 1:
      goto L30121;
    case 3:
      goto L30122;
    case 4:
      goto L30124;
    default:
      break;
    }
  goto ret0;

 L30120: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 44L:
      goto L16563;
    case 40L:
      goto L20828;
    default:
      break;
    }
  goto ret0;

 L16563: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L16564;
    }
  goto ret0;

 L16564: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L16565;
    }
  goto ret0;

 L16565: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7969 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 180 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1595;  /* avx2_psadbw */
    }
  goto ret0;

 L20828: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L20829;
    }
  goto ret0;

 L20829: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L20830;
    }
  goto ret0;

 L20830: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12312 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 216 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1902;  /* avx2_maskloadq256 */
    }
  goto ret0;

 L30121: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 105)
    goto L18581;
  goto ret0;

 L18581: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L18582;
    }
  goto ret0;

 L18582: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9515 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 180 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1679;  /* avx2_movntdqa */
    }
  goto ret0;

 L30122: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 134)
    goto L20400;
  goto ret0;

 L20400: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L20401;
    }
  goto ret0;

 L20401: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L20402;
    }
  goto ret0;

 L20402: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20403;
    }
  goto ret0;

 L20403: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11811 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1848;  /* avx2_permv2ti */
    }
  goto ret0;

 L30124: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 135)
    goto L21165;
  goto ret0;

 L21165: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L21166;
    }
  if (GET_CODE (x2) == PC)
    goto L21630;
  goto ret0;

 L21166: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, DImode))
    {
      operands[7] = x2;
      goto L21167;
    }
  goto ret0;

 L21167: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30125;
    case DImode:
      goto L30126;
    default:
      break;
    }
  goto ret0;

 L30125: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21168;
  goto ret0;

 L21168: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L21169;
    }
  goto ret0;

 L21169: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30127;
    case V4DImode:
      goto L30128;
    default:
      break;
    }
  goto ret0;

 L30127: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21170;
    }
  goto ret0;

 L21170: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21171;
    }
  goto ret0;

 L21171: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21172;
  goto ret0;

 L21172: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21173;
  goto ret0;

 L21173: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DImode))
    {
      operands[5] = x2;
      goto L21174;
    }
  goto ret0;

 L21174: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1940;  /* *avx2_gathersiv4di */
    }
  goto ret0;

 L30128: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[4] = x4;
      goto L22098;
    }
  goto ret0;

 L22098: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22099;
    }
  goto ret0;

 L22099: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22100;
  goto ret0;

 L22100: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22101;
  goto ret0;

 L22101: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DImode))
    {
      operands[5] = x2;
      goto L22102;
    }
  goto ret0;

 L22102: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1972;  /* *avx2_gatherdiv4di */
    }
  goto ret0;

 L30126: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21197;
  goto ret0;

 L21197: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L21198;
    }
  goto ret0;

 L21198: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30129;
    case V4DImode:
      goto L30130;
    default:
      break;
    }
  goto ret0;

 L30129: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21199;
    }
  goto ret0;

 L21199: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21200;
    }
  goto ret0;

 L21200: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21201;
  goto ret0;

 L21201: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21202;
  goto ret0;

 L21202: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DImode))
    {
      operands[5] = x2;
      goto L21203;
    }
  goto ret0;

 L21203: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1941;  /* *avx2_gathersiv4di */
    }
  goto ret0;

 L30130: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[4] = x4;
      goto L22127;
    }
  goto ret0;

 L22127: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22128;
    }
  goto ret0;

 L22128: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22129;
  goto ret0;

 L22129: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22130;
  goto ret0;

 L22130: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DImode))
    {
      operands[5] = x2;
      goto L22131;
    }
  goto ret0;

 L22131: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1973;  /* *avx2_gatherdiv4di */
    }
  goto ret0;

 L21630: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, DImode))
    {
      operands[6] = x2;
      goto L21631;
    }
  goto ret0;

 L21631: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30131;
    case DImode:
      goto L30132;
    default:
      break;
    }
  goto ret0;

 L30131: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21632;
  goto ret0;

 L21632: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L21633;
    }
  goto ret0;

 L21633: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30133;
    case V4DImode:
      goto L30134;
    default:
      break;
    }
  goto ret0;

 L30133: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21634;
    }
  goto ret0;

 L21634: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21635;
    }
  goto ret0;

 L21635: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21636;
  goto ret0;

 L21636: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21637;
  goto ret0;

 L21637: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DImode))
    {
      operands[4] = x2;
      goto L21638;
    }
  goto ret0;

 L21638: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1956;  /* *avx2_gathersiv4di_2 */
    }
  goto ret0;

 L30134: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[3] = x4;
      goto L22562;
    }
  goto ret0;

 L22562: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22563;
    }
  goto ret0;

 L22563: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22564;
  goto ret0;

 L22564: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22565;
  goto ret0;

 L22565: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DImode))
    {
      operands[4] = x2;
      goto L22566;
    }
  goto ret0;

 L22566: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1988;  /* *avx2_gatherdiv4di_2 */
    }
  goto ret0;

 L30132: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21661;
  goto ret0;

 L21661: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L21662;
    }
  goto ret0;

 L21662: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30135;
    case V4DImode:
      goto L30136;
    default:
      break;
    }
  goto ret0;

 L30135: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21663;
    }
  goto ret0;

 L21663: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21664;
    }
  goto ret0;

 L21664: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21665;
  goto ret0;

 L21665: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21666;
  goto ret0;

 L21666: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DImode))
    {
      operands[4] = x2;
      goto L21667;
    }
  goto ret0;

 L21667: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1957;  /* *avx2_gathersiv4di_2 */
    }
  goto ret0;

 L30136: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[3] = x4;
      goto L22591;
    }
  goto ret0;

 L22591: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22592;
    }
  goto ret0;

 L22592: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22593;
  goto ret0;

 L22593: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22594;
  goto ret0;

 L22594: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DImode))
    {
      operands[4] = x2;
      goto L22595;
    }
  goto ret0;

 L22595: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1989;  /* *avx2_gatherdiv4di_2 */
    }
  goto ret0;

 L18784: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V4QImode:
      goto L30137;
    case V4HImode:
      goto L30138;
    case V4SImode:
      goto L30139;
    default:
      break;
    }
  goto ret0;

 L30137: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18785;
  goto ret0;

 L18785: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18786;
    }
  goto ret0;

 L18786: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L18787;
  goto ret0;

 L18787: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18788;
  goto ret0;

 L18788: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18789;
  goto ret0;

 L18789: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18790;
  goto ret0;

 L18790: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 9763 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1704;  /* avx2_sign_extendv4qiv4di2 */
    }
  goto ret0;

 L30138: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18821;
  goto ret0;

 L18821: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L18822;
    }
  goto ret0;

 L18822: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L18823;
  goto ret0;

 L18823: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18824;
  goto ret0;

 L18824: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18825;
  goto ret0;

 L18825: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18826;
  goto ret0;

 L18826: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 9793 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1708;  /* avx2_sign_extendv4hiv4di2 */
    }
  goto ret0;

 L30139: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L18857;
    }
  goto ret0;

 L18857: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9818 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1712;  /* avx2_sign_extendv4siv4di2 */
    }
  goto ret0;

 L18794: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V4QImode:
      goto L30140;
    case V4HImode:
      goto L30141;
    case V4SImode:
      goto L30142;
    default:
      break;
    }
  goto ret0;

 L30140: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18795;
  goto ret0;

 L18795: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18796;
    }
  goto ret0;

 L18796: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L18797;
  goto ret0;

 L18797: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18798;
  goto ret0;

 L18798: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18799;
  goto ret0;

 L18799: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18800;
  goto ret0;

 L18800: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 9763 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1705;  /* avx2_zero_extendv4qiv4di2 */
    }
  goto ret0;

 L30141: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18831;
  goto ret0;

 L18831: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L18832;
    }
  goto ret0;

 L18832: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L18833;
  goto ret0;

 L18833: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18834;
  goto ret0;

 L18834: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L18835;
  goto ret0;

 L18835: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L18836;
  goto ret0;

 L18836: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 9793 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1709;  /* avx2_zero_extendv4hiv4di2 */
    }
  goto ret0;

 L30142: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L18862;
    }
  goto ret0;

 L18862: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9818 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1713;  /* avx2_zero_extendv4siv4di2 */
    }
  goto ret0;

 L19373: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[3] = x2;
      goto L19374;
    }
  goto ret0;

 L19374: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L19375;
    }
  goto ret0;

 L19375: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L19376;
    }
  goto ret0;

 L19376: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 116 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1754;  /* xop_pcmov_v4di256 */
    }
  goto ret0;

 L20358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L30143;
  goto ret0;

 L30143: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L20359;
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L20425;
    }
  goto ret0;

 L20359: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DImode))
    {
      operands[1] = x3;
      goto L20360;
    }
  goto ret0;

 L20360: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20361;
  goto ret0;

 L20361: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 11723 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 154 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1842;  /* avx2_pbroadcastv4di */
    }
  goto ret0;

 L20425: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11837 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1852;  /* vec_dupv4di */
    }
  goto ret0;

 L20449: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode)
    goto L30148;
  goto ret0;

 L30148: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L20615;
  if (memory_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20450;
    }
 L30146: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20470;
    }
 L30147: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20606;
    }
 L30149: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20976;
    }
  goto ret0;

 L20615: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4DImode))
    {
      operands[1] = x3;
      goto L20616;
    }
  goto ret0;

 L20616: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L20617;
  goto ret0;

 L20617: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L20618;
  goto ret0;

 L20618: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L20619;
  goto ret0;

 L20619: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20620;
    }
  goto ret0;

 L20620: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12156 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1882;  /* avx2_vec_set_hi_v4di */
    }
 L20648: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12186 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1885;  /* vec_set_hi_v4di */
    }
  goto ret0;

 L20450: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11851 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1857;  /* avx2_vbroadcasti128_v4di */
    }
  x2 = XEXP (x1, 0);
  goto L30146;

 L20470: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11874 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1861;  /* avx_vbroadcastf128_v4di */
    }
  x2 = XEXP (x1, 0);
  goto L30147;

 L20606: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20607;
  x2 = XEXP (x1, 0);
  goto L30149;

 L20607: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4DImode))
    {
      operands[1] = x3;
      goto L20608;
    }
  x2 = XEXP (x1, 0);
  goto L30149;

 L20608: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L20609;
  x2 = XEXP (x1, 0);
  goto L30149;

 L20609: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L20610;
  x2 = XEXP (x1, 0);
  goto L30149;

 L20610: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L30150;
  x2 = XEXP (x1, 0);
  goto L30149;

 L30150: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x4, 0) == 3L)
    goto L30152;
  x2 = XEXP (x1, 0);
  goto L30149;

 L30152: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12141 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1881;  /* avx2_vec_set_lo_v4di */
    }
 L30153: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12171 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1883;  /* vec_set_lo_v4di */
    }
  x2 = XEXP (x1, 0);
  goto L30149;

 L20976: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20977;
    }
  goto ret0;

 L20977: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12438 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1927;  /* avx_vec_concatv4di */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_36 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case SIGN_EXTEND:
      goto L19482;
    case ZERO_EXTEND:
      goto L19666;
    default:
     break;
   }
  goto ret0;

 L19482: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19483;
  goto ret0;

 L19483: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V16QImode))
    {
      operands[1] = x6;
      goto L19484;
    }
  goto ret0;

 L19484: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19485;
  goto ret0;

 L19485: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19486;
  goto ret0;

 L19486: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L19487;
  goto ret0;

 L19487: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19488;
  goto ret0;

 L19488: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19489;
  goto ret0;

 L19489: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19490;
  goto ret0;

 L19490: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19491;
  goto ret0;

 L19491: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19492;
  goto ret0;

 L19492: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L19493;
  goto ret0;

 L19493: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == PLUS)
    goto L19494;
  goto ret0;

 L19494: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19495;
  goto ret0;

 L19495: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19496;
  goto ret0;

 L19496: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19497;
  goto ret0;

 L19497: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19498;
  goto ret0;

 L19498: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19499;
  goto ret0;

 L19499: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L19500;
  goto ret0;

 L19500: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19501;
  goto ret0;

 L19501: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19502;
  goto ret0;

 L19502: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19503;
  goto ret0;

 L19503: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19504;
  goto ret0;

 L19504: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19505;
  goto ret0;

 L19505: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L19506;
  goto ret0;

 L19506: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == PLUS)
    goto L19507;
  goto ret0;

 L19507: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == PLUS)
    goto L19508;
  goto ret0;

 L19508: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19509;
  goto ret0;

 L19509: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19510;
  goto ret0;

 L19510: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19511;
  goto ret0;

 L19511: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19512;
  goto ret0;

 L19512: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19513;
  goto ret0;

 L19513: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L19514;
  goto ret0;

 L19514: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19515;
  goto ret0;

 L19515: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19516;
  goto ret0;

 L19516: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19517;
  goto ret0;

 L19517: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19518;
  goto ret0;

 L19518: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19519;
  goto ret0;

 L19519: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L19520;
  goto ret0;

 L19520: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == PLUS)
    goto L19521;
  goto ret0;

 L19521: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19522;
  goto ret0;

 L19522: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19523;
  goto ret0;

 L19523: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19524;
  goto ret0;

 L19524: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19525;
  goto ret0;

 L19525: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19526;
  goto ret0;

 L19526: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L19527;
  goto ret0;

 L19527: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19528;
  goto ret0;

 L19528: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19529;
  goto ret0;

 L19529: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19530;
  goto ret0;

 L19530: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19531;
  goto ret0;

 L19531: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19532;
  goto ret0;

 L19532: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 10710 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1762;  /* xop_phaddbq */
    }
  goto ret0;

 L19666: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19667;
  goto ret0;

 L19667: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V16QImode))
    {
      operands[1] = x6;
      goto L19668;
    }
  goto ret0;

 L19668: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19669;
  goto ret0;

 L19669: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19670;
  goto ret0;

 L19670: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L19671;
  goto ret0;

 L19671: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19672;
  goto ret0;

 L19672: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19673;
  goto ret0;

 L19673: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19674;
  goto ret0;

 L19674: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19675;
  goto ret0;

 L19675: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19676;
  goto ret0;

 L19676: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L19677;
  goto ret0;

 L19677: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == PLUS)
    goto L19678;
  goto ret0;

 L19678: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L19679;
  goto ret0;

 L19679: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19680;
  goto ret0;

 L19680: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19681;
  goto ret0;

 L19681: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19682;
  goto ret0;

 L19682: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19683;
  goto ret0;

 L19683: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L19684;
  goto ret0;

 L19684: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L19685;
  goto ret0;

 L19685: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19686;
  goto ret0;

 L19686: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19687;
  goto ret0;

 L19687: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19688;
  goto ret0;

 L19688: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19689;
  goto ret0;

 L19689: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L19690;
  goto ret0;

 L19690: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == PLUS)
    goto L19691;
  goto ret0;

 L19691: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == PLUS)
    goto L19692;
  goto ret0;

 L19692: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L19693;
  goto ret0;

 L19693: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19694;
  goto ret0;

 L19694: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19695;
  goto ret0;

 L19695: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19696;
  goto ret0;

 L19696: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19697;
  goto ret0;

 L19697: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L19698;
  goto ret0;

 L19698: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == SIGN_EXTEND)
    goto L19699;
  goto ret0;

 L19699: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19700;
  goto ret0;

 L19700: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19701;
  goto ret0;

 L19701: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19702;
  goto ret0;

 L19702: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19703;
  goto ret0;

 L19703: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L19704;
  goto ret0;

 L19704: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == PLUS)
    goto L19705;
  goto ret0;

 L19705: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L19706;
  goto ret0;

 L19706: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19707;
  goto ret0;

 L19707: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19708;
  goto ret0;

 L19708: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19709;
  goto ret0;

 L19709: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19710;
  goto ret0;

 L19710: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L19711;
  goto ret0;

 L19711: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == V2DImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L19712;
  goto ret0;

 L19712: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == V2QImode
      && GET_CODE (x5) == VEC_SELECT)
    goto L19713;
  goto ret0;

 L19713: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L19714;
  goto ret0;

 L19714: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 2)
    goto L19715;
  goto ret0;

 L19715: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L19716;
  goto ret0;

 L19716: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 1);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 10896 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1768;  /* xop_phaddubq */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_37 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case MULT:
      goto L19172;
    case PLUS:
      goto L19480;
    case SIGN_EXTEND:
      goto L19585;
    case ZERO_EXTEND:
      goto L19769;
    case REG:
    case SUBREG:
    case MEM:
      goto L30217;
    default:
      goto ret0;
   }
 L30217: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L14916;
    }
  goto ret0;

 L19172: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19173;
  goto ret0;

 L19173: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19174;
  goto ret0;

 L19174: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SImode))
    {
      operands[1] = x5;
      goto L19175;
    }
  goto ret0;

 L19175: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19176;
  goto ret0;

 L19176: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (GET_CODE (x6) == CONST_INT)
    goto L30222;
  goto ret0;

 L30222: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x6, 0) == XWINT (x6, 0))
    switch ((int) XWINT (x6, 0))
      {
      case 0L:
        goto L19177;
      case 1L:
        goto L19195;
      default:
        break;
      }
  goto ret0;

 L19177: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19178;
  goto ret0;

 L19178: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19179;
  goto ret0;

 L19179: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19180;
  goto ret0;

 L19180: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SImode))
    {
      operands[2] = x5;
      goto L19181;
    }
  goto ret0;

 L19181: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19182;
  goto ret0;

 L19182: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19183;
  goto ret0;

 L19183: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19184;
  goto ret0;

 L19184: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[3] = x2;
      goto L19185;
    }
  goto ret0;

 L19185: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10429 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1742;  /* xop_pmacsdql */
    }
  goto ret0;

 L19195: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19196;
  goto ret0;

 L19196: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19197;
  goto ret0;

 L19197: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19198;
  goto ret0;

 L19198: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SImode))
    {
      operands[2] = x5;
      goto L19199;
    }
  goto ret0;

 L19199: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19200;
  goto ret0;

 L19200: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19201;
  goto ret0;

 L19201: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19202;
  goto ret0;

 L19202: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[3] = x2;
      goto L19203;
    }
  goto ret0;

 L19203: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10449 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1743;  /* xop_pmacsdqh */
    }
  goto ret0;

 L19480: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2DImode)
    goto L30224;
  goto ret0;

 L30224: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L19481;
    case SIGN_EXTEND:
      goto L19557;
    case ZERO_EXTEND:
      goto L19741;
    default:
     break;
   }
  goto ret0;

 L19481: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2DImode)
    goto L30227;
  goto ret0;

 L30227: ATTRIBUTE_UNUSED_LABEL
  return recog_36 (x0, insn, pnum_clobbers);

 L19557: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19558;
  goto ret0;

 L19558: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[1] = x5;
      goto L19559;
    }
  goto ret0;

 L19559: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19560;
  goto ret0;

 L19560: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19561;
  goto ret0;

 L19561: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19562;
  goto ret0;

 L19562: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19563;
  goto ret0;

 L19563: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19564;
  goto ret0;

 L19564: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19565;
  goto ret0;

 L19565: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19566;
  goto ret0;

 L19566: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19567;
  goto ret0;

 L19567: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19568;
  goto ret0;

 L19568: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == PLUS)
    goto L19569;
  goto ret0;

 L19569: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19570;
  goto ret0;

 L19570: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19571;
  goto ret0;

 L19571: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19572;
  goto ret0;

 L19572: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19573;
  goto ret0;

 L19573: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19574;
  goto ret0;

 L19574: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19575;
  goto ret0;

 L19575: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19576;
  goto ret0;

 L19576: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19577;
  goto ret0;

 L19577: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19578;
  goto ret0;

 L19578: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19579;
  goto ret0;

 L19579: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19580;
  goto ret0;

 L19580: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 10760 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1764;  /* xop_phaddwq */
    }
  goto ret0;

 L19741: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19742;
  goto ret0;

 L19742: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V8HImode))
    {
      operands[1] = x5;
      goto L19743;
    }
  goto ret0;

 L19743: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19744;
  goto ret0;

 L19744: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19745;
  goto ret0;

 L19745: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L19746;
  goto ret0;

 L19746: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L19747;
  goto ret0;

 L19747: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19748;
  goto ret0;

 L19748: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19749;
  goto ret0;

 L19749: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19750;
  goto ret0;

 L19750: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19751;
  goto ret0;

 L19751: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L19752;
  goto ret0;

 L19752: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == PLUS)
    goto L19753;
  goto ret0;

 L19753: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L19754;
  goto ret0;

 L19754: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19755;
  goto ret0;

 L19755: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19756;
  goto ret0;

 L19756: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19757;
  goto ret0;

 L19757: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19758;
  goto ret0;

 L19758: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L19759;
  goto ret0;

 L19759: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L19760;
  goto ret0;

 L19760: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2HImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19761;
  goto ret0;

 L19761: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L19762;
  goto ret0;

 L19762: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19763;
  goto ret0;

 L19763: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19764;
  goto ret0;

 L19764: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 10946 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1770;  /* xop_phadduwq */
    }
  goto ret0;

 L19585: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19586;
  goto ret0;

 L19586: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[1] = x4;
      goto L19587;
    }
  goto ret0;

 L19587: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L19588;
  goto ret0;

 L19588: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19589;
  goto ret0;

 L19589: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19590;
  goto ret0;

 L19590: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L19591;
  goto ret0;

 L19591: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19592;
  goto ret0;

 L19592: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19593;
  goto ret0;

 L19593: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L19594;
  goto ret0;

 L19594: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19595;
  goto ret0;

 L19595: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 10777 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1765;  /* xop_phadddq */
    }
  goto ret0;

 L19769: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19770;
  goto ret0;

 L19770: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[1] = x4;
      goto L19771;
    }
  goto ret0;

 L19771: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L19772;
  goto ret0;

 L19772: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19773;
  goto ret0;

 L19773: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19774;
  goto ret0;

 L19774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L19775;
  goto ret0;

 L19775: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19776;
  goto ret0;

 L19776: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19777;
  goto ret0;

 L19777: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L19778;
  goto ret0;

 L19778: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19779;
  goto ret0;

 L19779: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 10963 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1771;  /* xop_phaddudq */
    }
  goto ret0;

 L14916: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L14917;
    }
  goto ret0;

 L14917: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4921 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V2DImode, operands)))
    {
      return 1406;  /* *addv2di3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_38 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (XVECLEN (x1, 0))
    {
    case 2:
      goto L30238;
    case 3:
      goto L30239;
    case 4:
      goto L30241;
    case 1:
      goto L30243;
    default:
      break;
    }
  goto ret0;

 L30238: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 44L:
      goto L16569;
    case 99L:
      goto L18477;
    case 101L:
      goto L18491;
    case 116L:
      goto L20268;
    case 117L:
      goto L20274;
    case 118L:
      goto L20280;
    case 119L:
      goto L20286;
    case 121L:
      goto L20297;
    case 40L:
      goto L20816;
    default:
      break;
    }
  goto ret0;

 L16569: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L16570;
    }
  goto ret0;

 L16570: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L16571;
    }
  goto ret0;

 L16571: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7969 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1596;  /* sse2_psadbw */
    }
  goto ret0;

 L18477: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L18478;
    }
  goto ret0;

 L18478: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L18479;
    }
  goto ret0;

 L18479: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9416 "../../gcc/config/i386/sse.md"
(TARGET_SSE4A))
    {
      return 1664;  /* sse4a_extrq */
    }
  goto ret0;

 L18491: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L18492;
    }
  goto ret0;

 L18492: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L18493;
    }
  goto ret0;

 L18493: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9442 "../../gcc/config/i386/sse.md"
(TARGET_SSE4A))
    {
      return 1666;  /* sse4a_insertq */
    }
  goto ret0;

 L20268: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20269;
    }
  goto ret0;

 L20269: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20270;
    }
  goto ret0;

 L20270: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11571 "../../gcc/config/i386/sse.md"
(TARGET_AES))
    {
      return 1827;  /* aesenc */
    }
  goto ret0;

 L20274: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20275;
    }
  goto ret0;

 L20275: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20276;
    }
  goto ret0;

 L20276: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11586 "../../gcc/config/i386/sse.md"
(TARGET_AES))
    {
      return 1828;  /* aesenclast */
    }
  goto ret0;

 L20280: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20281;
    }
  goto ret0;

 L20281: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20282;
    }
  goto ret0;

 L20282: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11601 "../../gcc/config/i386/sse.md"
(TARGET_AES))
    {
      return 1829;  /* aesdec */
    }
  goto ret0;

 L20286: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20287;
    }
  goto ret0;

 L20287: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20288;
    }
  goto ret0;

 L20288: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11616 "../../gcc/config/i386/sse.md"
(TARGET_AES))
    {
      return 1830;  /* aesdeclast */
    }
  goto ret0;

 L20297: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20298;
    }
  goto ret0;

 L20298: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L20299;
    }
  goto ret0;

 L20299: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11642 "../../gcc/config/i386/sse.md"
(TARGET_AES))
    {
      return 1832;  /* aeskeygenassist */
    }
  goto ret0;

 L20816: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20817;
    }
  goto ret0;

 L20817: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20818;
    }
  goto ret0;

 L20818: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12312 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 215 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1900;  /* avx2_maskloadq */
    }
  goto ret0;

 L30239: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 98L:
      goto L18470;
    case 113L:
      goto L20229;
    case 122L:
      goto L20303;
    default:
      break;
    }
  goto ret0;

 L18470: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L18471;
    }
  goto ret0;

 L18471: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_255_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L18472;
    }
  goto ret0;

 L18472: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L18473;
    }
  goto ret0;

 L18473: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9404 "../../gcc/config/i386/sse.md"
(TARGET_SSE4A))
    {
      return 1663;  /* sse4a_extrqi */
    }
  goto ret0;

 L20229: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20230;
    }
  goto ret0;

 L20230: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20231;
    }
  goto ret0;

 L20231: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20232;
    }
  goto ret0;

 L20232: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11538 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1822;  /* xop_pcom_tfv2di3 */
    }
  goto ret0;

 L20303: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20304;
    }
  goto ret0;

 L20304: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20305;
    }
  goto ret0;

 L20305: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20306;
    }
  goto ret0;

 L20306: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11656 "../../gcc/config/i386/sse.md"
(TARGET_PCLMUL))
    {
      return 1833;  /* pclmulqdq */
    }
  goto ret0;

 L30241: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 100L:
      goto L18483;
    case 135L:
      goto L21049;
    default:
      break;
    }
  goto ret0;

 L18483: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L18484;
    }
  goto ret0;

 L18484: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L18485;
    }
  goto ret0;

 L18485: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L18486;
    }
  goto ret0;

 L18486: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (const_0_to_255_operand (x2, VOIDmode))
    {
      operands[4] = x2;
      goto L18487;
    }
  goto ret0;

 L18487: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9429 "../../gcc/config/i386/sse.md"
(TARGET_SSE4A))
    {
      return 1665;  /* sse4a_insertqi */
    }
  goto ret0;

 L21049: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L21050;
    }
  if (GET_CODE (x2) == PC)
    goto L21514;
  goto ret0;

 L21050: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, DImode))
    {
      operands[7] = x2;
      goto L21051;
    }
  goto ret0;

 L21051: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30255;
    case DImode:
      goto L30256;
    default:
      break;
    }
  goto ret0;

 L30255: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21052;
  goto ret0;

 L21052: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L21053;
    }
  goto ret0;

 L21053: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30257;
    case V2DImode:
      goto L30258;
    default:
      break;
    }
  goto ret0;

 L30257: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21054;
    }
  goto ret0;

 L21054: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21055;
    }
  goto ret0;

 L21055: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21056;
  goto ret0;

 L21056: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21057;
  goto ret0;

 L21057: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DImode))
    {
      operands[5] = x2;
      goto L21058;
    }
  goto ret0;

 L21058: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1936;  /* *avx2_gathersiv2di */
    }
  goto ret0;

 L30258: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[4] = x4;
      goto L21982;
    }
  goto ret0;

 L21982: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21983;
    }
  goto ret0;

 L21983: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21984;
  goto ret0;

 L21984: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21985;
  goto ret0;

 L21985: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DImode))
    {
      operands[5] = x2;
      goto L21986;
    }
  goto ret0;

 L21986: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1968;  /* *avx2_gatherdiv2di */
    }
  goto ret0;

 L30256: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21081;
  goto ret0;

 L21081: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L21082;
    }
  goto ret0;

 L21082: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30259;
    case V2DImode:
      goto L30260;
    default:
      break;
    }
  goto ret0;

 L30259: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21083;
    }
  goto ret0;

 L21083: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21084;
    }
  goto ret0;

 L21084: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21085;
  goto ret0;

 L21085: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21086;
  goto ret0;

 L21086: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DImode))
    {
      operands[5] = x2;
      goto L21087;
    }
  goto ret0;

 L21087: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1937;  /* *avx2_gathersiv2di */
    }
  goto ret0;

 L30260: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[4] = x4;
      goto L22011;
    }
  goto ret0;

 L22011: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22012;
    }
  goto ret0;

 L22012: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22013;
  goto ret0;

 L22013: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22014;
  goto ret0;

 L22014: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DImode))
    {
      operands[5] = x2;
      goto L22015;
    }
  goto ret0;

 L22015: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1969;  /* *avx2_gatherdiv2di */
    }
  goto ret0;

 L21514: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, DImode))
    {
      operands[6] = x2;
      goto L21515;
    }
  goto ret0;

 L21515: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30261;
    case DImode:
      goto L30262;
    default:
      break;
    }
  goto ret0;

 L30261: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21516;
  goto ret0;

 L21516: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L21517;
    }
  goto ret0;

 L21517: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30263;
    case V2DImode:
      goto L30264;
    default:
      break;
    }
  goto ret0;

 L30263: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21518;
    }
  goto ret0;

 L21518: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21519;
    }
  goto ret0;

 L21519: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21520;
  goto ret0;

 L21520: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21521;
  goto ret0;

 L21521: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DImode))
    {
      operands[4] = x2;
      goto L21522;
    }
  goto ret0;

 L21522: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1952;  /* *avx2_gathersiv2di_2 */
    }
  goto ret0;

 L30264: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[3] = x4;
      goto L22446;
    }
  goto ret0;

 L22446: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22447;
    }
  goto ret0;

 L22447: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22448;
  goto ret0;

 L22448: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22449;
  goto ret0;

 L22449: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DImode))
    {
      operands[4] = x2;
      goto L22450;
    }
  goto ret0;

 L22450: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1984;  /* *avx2_gatherdiv2di_2 */
    }
  goto ret0;

 L30262: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21545;
  goto ret0;

 L21545: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L21546;
    }
  goto ret0;

 L21546: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30265;
    case V2DImode:
      goto L30266;
    default:
      break;
    }
  goto ret0;

 L30265: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21547;
    }
  goto ret0;

 L21547: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21548;
    }
  goto ret0;

 L21548: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21549;
  goto ret0;

 L21549: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21550;
  goto ret0;

 L21550: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DImode))
    {
      operands[4] = x2;
      goto L21551;
    }
  goto ret0;

 L21551: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1953;  /* *avx2_gathersiv2di_2 */
    }
  goto ret0;

 L30266: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[3] = x4;
      goto L22475;
    }
  goto ret0;

 L22475: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22476;
    }
  goto ret0;

 L22476: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22477;
  goto ret0;

 L22477: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22478;
  goto ret0;

 L22478: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DImode))
    {
      operands[4] = x2;
      goto L22479;
    }
  goto ret0;

 L22479: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1985;  /* *avx2_gatherdiv2di_2 */
    }
  goto ret0;

 L30243: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 105L:
      goto L18586;
    case 112L:
      goto L20201;
    case 120L:
      goto L20292;
    default:
      break;
    }
  goto ret0;

 L18586: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L18587;
    }
  goto ret0;

 L18587: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9515 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1680;  /* sse4_1_movntdqa */
    }
  goto ret0;

 L20201: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (ix86_comparison_uns_operator (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20202;
    }
  goto ret0;

 L20202: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DImode))
    {
      operands[2] = x3;
      goto L20203;
    }
  goto ret0;

 L20203: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DImode))
    {
      operands[3] = x3;
      goto L20204;
    }
  goto ret0;

 L20204: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11521 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1818;  /* xop_maskcmp_uns2v2di3 */
    }
  goto ret0;

 L20292: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20293;
    }
  goto ret0;

 L20293: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11630 "../../gcc/config/i386/sse.md"
(TARGET_AES))
    {
      return 1831;  /* aesimc */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_39 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case VEC_CONCAT:
      goto L12255;
    case VEC_SELECT:
      goto L14724;
    case PLUS:
      goto L14915;
    case MINUS:
      goto L14921;
    case MULT:
      goto L15106;
    case ASHIFT:
      goto L15359;
    case LSHIFTRT:
      goto L15365;
    case EQ:
      goto L15563;
    case GT:
      goto L15587;
    case AND:
      goto L15684;
    case IOR:
      goto L15823;
    case XOR:
      goto L15829;
    case VEC_MERGE:
      goto L16184;
    case VEC_DUPLICATE:
      goto L16402;
    case UNSPEC:
      goto L30195;
    case SIGN_EXTEND:
      goto L18804;
    case ZERO_EXTEND:
      goto L18812;
    case SS_PLUS:
      goto L19136;
    case IF_THEN_ELSE:
      goto L19380;
    case ROTATE:
      goto L19902;
    case ROTATERT:
      goto L19926;
    default:
     break;
   }
 L30182: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_int_operator (x1, V2DImode))
    {
      operands[1] = x1;
      goto L20150;
    }
 L30183: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_uns_operator (x1, V2DImode))
    {
      operands[1] = x1;
      goto L20174;
    }
  goto ret0;

 L12255: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L30212;
  goto ret0;

 L30212: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L12256;
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L16432;
    }
  goto ret0;

 L12256: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DImode))
    {
      operands[1] = x3;
      goto L12257;
    }
  goto ret0;

 L12257: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L12258;
  goto ret0;

 L12258: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12259;
  goto ret0;

 L12259: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 500 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1089;  /* sse2_movq128 */
    }
  goto ret0;

 L16432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L16433;
    }
  goto ret0;

 L16433: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7681 "../../gcc/config/i386/sse.md"
(TARGET_64BIT))
    {
      return 1589;  /* *vec_concatv2di_rex64 */
    }
 L16439: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7714 "../../gcc/config/i386/sse.md"
(!TARGET_64BIT && TARGET_SSE))
    {
      return 1590;  /* vec_concatv2di */
    }
  goto ret0;

 L14724: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L14725;
  goto ret0;

 L14725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DImode))
    {
      operands[1] = x3;
      goto L14726;
    }
  goto ret0;

 L14726: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DImode))
    {
      operands[2] = x3;
      goto L14727;
    }
  goto ret0;

 L14727: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L14728;
  goto ret0;

 L14728: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30214;
  goto ret0;

 L30214: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L14729;
      case 0L:
        goto L14749;
      default:
        break;
      }
 L30216: ATTRIBUTE_UNUSED_LABEL
  if (const_0_to_1_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L14758;
    }
  goto ret0;

 L14729: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 4524 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1378;  /* vec_interleave_highv2di */
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L30216;

 L14749: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && 
#line 4558 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1380;  /* vec_interleave_lowv2di */
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L30216;

 L14758: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_2_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L14759;
    }
  goto ret0;

 L14759: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4576 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1381;  /* sse2_shufpd_v2di */
    }
  goto ret0;

 L14915: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode)
    goto L30218;
  goto ret0;

 L30218: ATTRIBUTE_UNUSED_LABEL
  return recog_37 (x0, insn, pnum_clobbers);

 L14921: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode)
    goto L30230;
  goto ret0;

 L30230: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == SIGN_EXTEND)
    goto L19830;
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L14922;
    }
  goto ret0;

 L19830: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19831;
  goto ret0;

 L19831: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[1] = x4;
      goto L19832;
    }
  goto ret0;

 L19832: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L19833;
  goto ret0;

 L19833: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19834;
  goto ret0;

 L19834: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19835;
  goto ret0;

 L19835: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L19836;
  goto ret0;

 L19836: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19837;
  goto ret0;

 L19837: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L19838;
  goto ret0;

 L19838: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L19839;
  goto ret0;

 L19839: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19840;
  goto ret0;

 L19840: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 11030 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1774;  /* xop_phsubdq */
    }
  goto ret0;

 L14922: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L14923;
    }
  goto ret0;

 L14923: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4921 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V2DImode, operands)))
    {
      return 1407;  /* *subv2di3 */
    }
  goto ret0;

 L15106: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode)
    goto L30231;
  goto ret0;

 L30231: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L15107;
    case SIGN_EXTEND:
      goto L15141;
    case REG:
    case SUBREG:
      goto L30233;
    default:
      goto ret0;
   }
 L30233: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L15270;
    }
  goto ret0;

 L15107: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L15108;
  goto ret0;

 L15108: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[1] = x4;
      goto L15109;
    }
  goto ret0;

 L15109: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L15110;
  goto ret0;

 L15110: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15111;
  goto ret0;

 L15111: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15112;
  goto ret0;

 L15112: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L15113;
  goto ret0;

 L15113: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L15114;
  goto ret0;

 L15114: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[2] = x4;
      goto L15115;
    }
  goto ret0;

 L15115: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L15116;
  goto ret0;

 L15116: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15117;
  goto ret0;

 L15117: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && 
#line 5135 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V4SImode, operands)))
    {
      return 1433;  /* *sse2_umulv2siv2di3 */
    }
  goto ret0;

 L15141: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L15142;
  goto ret0;

 L15142: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[1] = x4;
      goto L15143;
    }
  goto ret0;

 L15143: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L15144;
  goto ret0;

 L15144: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15145;
  goto ret0;

 L15145: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L15146;
  goto ret0;

 L15146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L15147;
  goto ret0;

 L15147: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L15148;
  goto ret0;

 L15148: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[2] = x4;
      goto L15149;
    }
  goto ret0;

 L15149: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L15150;
  goto ret0;

 L15150: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L15151;
  goto ret0;

 L15151: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && 
#line 5207 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands)))
    {
      return 1435;  /* *sse4_1_mulv2siv2di3 */
    }
  goto ret0;

 L15270: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L15271;
    }
  goto ret0;

 L15271: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5481 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && can_create_pseudo_p ()))
    {
      return 1442;  /* mulv2di3 */
    }
  goto ret0;

 L15359: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20946;
    }
  goto ret0;

 L20946: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20947;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15361;
    }
  goto ret0;

 L20947: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12427 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1922;  /* avx2_ashlvv2di */
    }
  goto ret0;

 L15361: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1457;  /* ashlv2di3 */
    }
  goto ret0;

 L15365: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20952;
    }
  goto ret0;

 L20952: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20953;
    }
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15367;
    }
  goto ret0;

 L20953: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12427 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1923;  /* avx2_lshrvv2di */
    }
  goto ret0;

 L15367: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5863 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1458;  /* lshrv2di3 */
    }
  goto ret0;

 L15563: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L15564;
    }
  goto L30182;

 L15564: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L15565;
    }
  goto L30182;

 L15565: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6190 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (EQ, V2DImode, operands)))
    {
      return 1491;  /* *sse4_1_eqv2di3 */
    }
  x1 = XEXP (x0, 1);
  goto L30182;

 L15587: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L15588;
    }
  goto L30182;

 L15588: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L15589;
    }
  goto L30182;

 L15589: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6237 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2))
    {
      return 1495;  /* sse4_2_gtv2di3 */
    }
  x1 = XEXP (x0, 1);
  goto L30182;

 L15684: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode)
    goto L30234;
  goto ret0;

 L30234: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15685;
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L15818;
    }
  goto ret0;

 L15685: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DImode))
    {
      operands[1] = x3;
      goto L15686;
    }
  goto ret0;

 L15686: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L15687;
    }
  goto ret0;

 L15687: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6443 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1510;  /* *andnotv2di3 */
    }
  goto ret0;

 L15818: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L15819;
    }
  goto ret0;

 L15819: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (AND, V2DImode, operands)))
    {
      return 1532;  /* *andv2di3 */
    }
  goto ret0;

 L15823: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L15824;
    }
  goto ret0;

 L15824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L15825;
    }
  goto ret0;

 L15825: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (IOR, V2DImode, operands)))
    {
      return 1533;  /* *iorv2di3 */
    }
  goto ret0;

 L15829: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L15830;
    }
  goto ret0;

 L15830: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L15831;
    }
  goto ret0;

 L15831: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6517 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (XOR, V2DImode, operands)))
    {
      return 1534;  /* *xorv2di3 */
    }
  goto ret0;

 L16184: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == VEC_DUPLICATE)
    goto L16185;
  goto ret0;

 L16185: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L16186;
    }
  goto ret0;

 L16186: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L16187;
    }
  goto ret0;

 L16187: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L16188;
    }
  goto ret0;

 L16188: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6989 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V2DImode))) && 
#line 6975 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_64BIT)))
    {
      return 1560;  /* sse4_1_pinsrq */
    }
  goto ret0;

 L16402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L30237;
  goto ret0;

 L30237: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L20366;
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L16403;
    }
  goto ret0;

 L20366: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DImode))
    {
      operands[1] = x3;
      goto L20367;
    }
  goto ret0;

 L20367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20368;
  goto ret0;

 L20368: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11723 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1843;  /* avx2_pbroadcastv2di */
    }
  goto ret0;

 L16403: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7592 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1584;  /* *vec_dupv2di */
    }
  goto ret0;

 L30195: ATTRIBUTE_UNUSED_LABEL
  return recog_38 (x0, insn, pnum_clobbers);

 L18804: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2QImode:
      goto L30267;
    case V2HImode:
      goto L30268;
    case V2SImode:
      goto L30269;
    default:
      break;
    }
  goto ret0;

 L30267: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18805;
  goto ret0;

 L18805: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18806;
    }
  goto ret0;

 L18806: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L18807;
  goto ret0;

 L18807: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18808;
  goto ret0;

 L18808: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9777 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1706;  /* sse4_1_sign_extendv2qiv2di2 */
    }
  goto ret0;

 L30268: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18841;
  goto ret0;

 L18841: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L18842;
    }
  goto ret0;

 L18842: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L18843;
  goto ret0;

 L18843: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18844;
  goto ret0;

 L18844: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9807 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1710;  /* sse4_1_sign_extendv2hiv2di2 */
    }
  goto ret0;

 L30269: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18867;
  goto ret0;

 L18867: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L18868;
    }
  goto ret0;

 L18868: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L18869;
  goto ret0;

 L18869: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18870;
  goto ret0;

 L18870: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9831 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1714;  /* sse4_1_sign_extendv2siv2di2 */
    }
  goto ret0;

 L18812: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2QImode:
      goto L30270;
    case V2HImode:
      goto L30271;
    case V2SImode:
      goto L30272;
    default:
      break;
    }
  goto ret0;

 L30270: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18813;
  goto ret0;

 L18813: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18814;
    }
  goto ret0;

 L18814: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L18815;
  goto ret0;

 L18815: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18816;
  goto ret0;

 L18816: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9777 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1707;  /* sse4_1_zero_extendv2qiv2di2 */
    }
  goto ret0;

 L30271: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18849;
  goto ret0;

 L18849: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L18850;
    }
  goto ret0;

 L18850: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L18851;
  goto ret0;

 L18851: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18852;
  goto ret0;

 L18852: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9807 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1711;  /* sse4_1_zero_extendv2hiv2di2 */
    }
  goto ret0;

 L30272: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18875;
  goto ret0;

 L18875: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L18876;
    }
  goto ret0;

 L18876: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L18877;
  goto ret0;

 L18877: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L18878;
  goto ret0;

 L18878: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9831 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1715;  /* sse4_1_zero_extendv2siv2di2 */
    }
  goto ret0;

 L19136: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == MULT)
    goto L19137;
  goto ret0;

 L19137: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19138;
  goto ret0;

 L19138: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19139;
  goto ret0;

 L19139: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SImode))
    {
      operands[1] = x5;
      goto L19140;
    }
  goto ret0;

 L19140: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19141;
  goto ret0;

 L19141: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (GET_CODE (x6) == CONST_INT)
    goto L30273;
  goto ret0;

 L30273: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x6, 0) == XWINT (x6, 0))
    switch ((int) XWINT (x6, 0))
      {
      case 0L:
        goto L19142;
      case 1L:
        goto L19159;
      default:
        break;
      }
  goto ret0;

 L19142: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19143;
  goto ret0;

 L19143: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L19144;
  goto ret0;

 L19144: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[2] = x4;
      goto L19145;
    }
  goto ret0;

 L19145: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L19146;
  goto ret0;

 L19146: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19147;
  goto ret0;

 L19147: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L19148;
  goto ret0;

 L19148: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[3] = x2;
      goto L19149;
    }
  goto ret0;

 L19149: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10389 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1740;  /* xop_pmacssdql */
    }
  goto ret0;

 L19159: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19160;
  goto ret0;

 L19160: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L19161;
  goto ret0;

 L19161: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2SImode
      && GET_CODE (x4) == VEC_SELECT)
    goto L19162;
  goto ret0;

 L19162: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SImode))
    {
      operands[2] = x5;
      goto L19163;
    }
  goto ret0;

 L19163: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 2)
    goto L19164;
  goto ret0;

 L19164: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L19165;
  goto ret0;

 L19165: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L19166;
  goto ret0;

 L19166: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[3] = x2;
      goto L19167;
    }
  goto ret0;

 L19167: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10409 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1741;  /* xop_pmacssdqh */
    }
  goto ret0;

 L19380: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode)
    goto L30276;
  goto ret0;

 L30276: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == GE)
    goto L19972;
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[3] = x2;
      goto L19381;
    }
  goto ret0;

 L19972: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DImode))
    {
      operands[2] = x3;
      goto L19973;
    }
  goto ret0;

 L19973: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L19974;
  goto ret0;

 L19974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode)
    goto L30277;
  goto ret0;

 L30277: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ROTATE:
      goto L19975;
    case ASHIFT:
      goto L20027;
    default:
     break;
   }
  goto ret0;

 L19975: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DImode))
    {
      operands[1] = x3;
      goto L19976;
    }
  goto ret0;

 L19976: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L19977;
  goto ret0;

 L19977: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == ROTATERT)
    goto L19978;
  goto ret0;

 L19978: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L19979;
  goto ret0;

 L19979: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == NEG)
    goto L19980;
  goto ret0;

 L19980: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11212 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1790;  /* xop_vrotlv2di3 */
    }
  goto ret0;

 L20027: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DImode))
    {
      operands[1] = x3;
      goto L20028;
    }
  goto ret0;

 L20028: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L20029;
  goto ret0;

 L20029: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V2DImode)
    goto L30279;
  goto ret0;

 L30279: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFTRT:
      goto L20030;
    case LSHIFTRT:
      goto L20082;
    default:
     break;
   }
  goto ret0;

 L20030: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L20031;
  goto ret0;

 L20031: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == NEG)
    goto L20032;
  goto ret0;

 L20032: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11335 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1794;  /* xop_shav2di3 */
    }
  goto ret0;

 L20082: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L20083;
  goto ret0;

 L20083: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2DImode
      && GET_CODE (x3) == NEG)
    goto L20084;
  goto ret0;

 L20084: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 11354 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1798;  /* xop_shlv2di3 */
    }
  goto ret0;

 L19381: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L19382;
    }
  goto ret0;

 L19382: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L19383;
    }
  goto ret0;

 L19383: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1755;  /* xop_pcmov_v2di */
    }
  goto ret0;

 L19902: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L19903;
    }
  goto ret0;

 L19903: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_63_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L19904;
    }
  goto ret0;

 L19904: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11157 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1782;  /* xop_rotlv2di3 */
    }
  goto ret0;

 L19926: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L19927;
    }
  goto ret0;

 L19927: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_63_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L19928;
    }
  goto ret0;

 L19928: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11168 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1786;  /* xop_rotrv2di3 */
    }
  goto ret0;

 L20150: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20151;
    }
  goto L30183;

 L20151: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[3] = x2;
      goto L20152;
    }
  goto L30183;

 L20152: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11488 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1810;  /* xop_maskcmpv2di3 */
    }
  x1 = XEXP (x0, 1);
  goto L30183;

 L20174: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20175;
    }
  goto ret0;

 L20175: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[3] = x2;
      goto L20176;
    }
  goto ret0;

 L20176: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11502 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1814;  /* xop_maskcmp_unsv2di3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_40 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30345;
    case 2:
      goto L30348;
    case 3:
      goto L30350;
    case 4:
      goto L30355;
    default:
      break;
    }
  goto ret0;

 L30345: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 92L:
      goto L12276;
    case 42L:
      goto L12578;
    case 43L:
      goto L12629;
    case 115L:
      goto L20108;
    case 129L:
      goto L21008;
    default:
      break;
    }
  goto ret0;

 L12276: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12277;
    }
  goto ret0;

 L12277: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 589 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1091;  /* avx_loadups256 */
    }
  goto ret0;

 L12578: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12579;
    }
  goto ret0;

 L12579: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 905 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 135 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1141;  /* avx_rcpv8sf2 */
    }
  goto ret0;

 L12629: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12630;
    }
  goto ret0;

 L12630: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 991 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 135 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1150;  /* avx_rsqrtv8sf2 */
    }
  goto ret0;

 L20108: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L20109;
    }
  goto ret0;

 L20109: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11454 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1803;  /* xop_frczv8sf2 */
    }
  goto ret0;

 L21008: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L21009;
    }
  goto ret0;

 L21009: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12491 "../../gcc/config/i386/sse.md"
(TARGET_F16C))
    {
      return 1932;  /* vcvtph2ps256 */
    }
  goto ret0;

 L30348: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 46L:
      goto L12774;
    case 47L:
      goto L12798;
    case 80L:
      goto L18918;
    case 133L:
      goto L20384;
    case 124L:
      goto L20533;
    case 40L:
      goto L20798;
    default:
      break;
    }
  goto ret0;

 L12774: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12775;
    }
  goto ret0;

 L12775: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12776;
    }
  goto ret0;

 L12776: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1087 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1173;  /* *ieee_sminv8sf3 */
    }
  goto ret0;

 L12798: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12799;
    }
  goto ret0;

 L12799: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12800;
    }
  goto ret0;

 L12800: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1102 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1177;  /* *ieee_smaxv8sf3 */
    }
  goto ret0;

 L18918: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L18919;
    }
  goto ret0;

 L18919: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L18920;
    }
  goto ret0;

 L18920: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9884 "../../gcc/config/i386/sse.md"
(TARGET_ROUND) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1722;  /* avx_roundps256 */
    }
  goto ret0;

 L20384: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L20385;
    }
  goto ret0;

 L20385: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20386;
    }
  goto ret0;

 L20386: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11761 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1846;  /* avx2_permvarv8sf */
    }
  goto ret0;

 L20533: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L20534;
    }
  goto ret0;

 L20534: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20535;
    }
  goto ret0;

 L20535: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12025 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1871;  /* avx_vpermilvarv8sf3 */
    }
  goto ret0;

 L20798: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20799;
    }
  goto ret0;

 L20799: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L20800;
    }
  goto ret0;

 L20800: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12312 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1897;  /* avx_maskloadps256 */
    }
  goto ret0;

 L30350: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 123L:
      goto L13230;
    case 111L:
      goto L13726;
    case 104L:
      goto L18553;
    case 126L:
      goto L20564;
    default:
      break;
    }
  goto ret0;

 L13230: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L13231;
    }
  goto ret0;

 L13231: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13232;
    }
  goto ret0;

 L13232: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_31_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L13233;
    }
  goto ret0;

 L13233: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1401 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1193;  /* avx_cmpv8sf3 */
    }
  goto ret0;

 L13726: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L13727;
    }
  goto ret0;

 L13727: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13728;
    }
  goto ret0;

 L13728: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == V8SFmode)
    goto L30363;
  goto ret0;

 L30363: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13757;
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[3] = x2;
      goto L13729;
    }
  goto ret0;

 L13757: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[3] = x3;
      goto L13758;
    }
  goto ret0;

 L13758: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1888 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1265;  /* *fma_fmsubadd_v8sf */
    }
  goto ret0;

 L13729: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1869 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1261;  /* *fma_fmaddsub_v8sf */
    }
  goto ret0;

 L18553: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L18554;
    }
  goto ret0;

 L18554: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L18555;
    }
  goto ret0;

 L18555: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18556;
    }
  goto ret0;

 L18556: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9499 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1675;  /* avx_dpps256 */
    }
  goto ret0;

 L20564: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L20565;
    }
  goto ret0;

 L20565: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L20566;
    }
  goto ret0;

 L20566: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20567;
    }
  goto ret0;

 L20567: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12076 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1876;  /* *avx_vperm2f128v8sf_full */
    }
  goto ret0;

 L30355: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 125L:
      goto L20236;
    case 135L:
      goto L21455;
    default:
      break;
    }
  goto ret0;

 L20236: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L20237;
    }
  goto ret0;

 L20237: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L20238;
    }
  goto ret0;

 L20238: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[3] = x2;
      goto L20239;
    }
  goto ret0;

 L20239: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (const_0_to_3_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L20240;
    }
  goto ret0;

 L20240: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11558 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1823;  /* xop_vpermil2v8sf3 */
    }
  goto ret0;

 L21455: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case V8SFmode:
      goto L30364;
    case V4SFmode:
      goto L30365;
    default:
      break;
    }
 L21919: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PC)
    goto L21920;
  goto ret0;

 L30364: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L21456;
    }
  goto L21919;

 L21456: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SFmode))
    {
      operands[7] = x2;
      goto L21457;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21457: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30366;
    case DImode:
      goto L30367;
    default:
      break;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L30366: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21458;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21458: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L21459;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21459: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (register_operand (x4, V8SImode))
    {
      operands[4] = x4;
      goto L21460;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21460: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21461;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21461: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21462;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21462: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21463;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21463: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V8SFmode))
    {
      operands[5] = x2;
      goto L21464;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21464: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1950;  /* *avx2_gathersiv8sf */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L30367: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21487;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21487: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L21488;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21488: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (register_operand (x4, V8SImode))
    {
      operands[4] = x4;
      goto L21489;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21489: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21490;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21490: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21491;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21491: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21492;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21492: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V8SFmode))
    {
      operands[5] = x2;
      goto L21493;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21493: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1951;  /* *avx2_gathersiv8sf */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L30365: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L22384;
    }
  goto L21919;

 L22384: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SFmode))
    {
      operands[7] = x2;
      goto L22385;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22385: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30368;
    case DImode:
      goto L30369;
    default:
      break;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L30368: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L22386;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22386: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L22387;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22387: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (register_operand (x4, V4DImode))
    {
      operands[4] = x4;
      goto L22388;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22388: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22389;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22389: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22390;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22390: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22391;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22391: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[5] = x2;
      goto L22392;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22392: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1982;  /* *avx2_gatherdiv8sf */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L30369: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L22415;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22415: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L22416;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22416: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (register_operand (x4, V4DImode))
    {
      operands[4] = x4;
      goto L22417;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22417: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22418;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22418: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22419;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22419: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22420;
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22420: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[5] = x2;
      goto L22421;
    }
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L22421: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1983;  /* *avx2_gatherdiv8sf */
    }
  x1 = XEXP (x0, 1);
  x2 = XVECEXP (x1, 0, 0);
  goto L21919;

 L21920: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SFmode))
    {
      operands[6] = x2;
      goto L21921;
    }
  goto ret0;

 L21921: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30370;
    case DImode:
      goto L30371;
    default:
      break;
    }
  goto ret0;

 L30370: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21922;
  goto ret0;

 L21922: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L21923;
    }
  goto ret0;

 L21923: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V8SImode:
      goto L30372;
    case V4DImode:
      goto L30373;
    default:
      break;
    }
  goto ret0;

 L30372: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V8SImode))
    {
      operands[3] = x4;
      goto L21924;
    }
  goto ret0;

 L21924: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21925;
    }
  goto ret0;

 L21925: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21926;
  goto ret0;

 L21926: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21927;
  goto ret0;

 L21927: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V8SFmode))
    {
      operands[4] = x2;
      goto L21928;
    }
  goto ret0;

 L21928: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1966;  /* *avx2_gathersiv8sf_2 */
    }
  goto ret0;

 L30373: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[3] = x4;
      goto L22852;
    }
  goto ret0;

 L22852: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22853;
    }
  goto ret0;

 L22853: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22854;
  goto ret0;

 L22854: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22855;
  goto ret0;

 L22855: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L22856;
    }
  goto ret0;

 L22856: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1998;  /* *avx2_gatherdiv8sf_2 */
    }
  goto ret0;

 L30371: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21951;
  goto ret0;

 L21951: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L21952;
    }
  goto ret0;

 L21952: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V8SImode:
      goto L30374;
    case V4DImode:
      goto L30375;
    default:
      break;
    }
  goto ret0;

 L30374: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V8SImode))
    {
      operands[3] = x4;
      goto L21953;
    }
  goto ret0;

 L21953: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21954;
    }
  goto ret0;

 L21954: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21955;
  goto ret0;

 L21955: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21956;
  goto ret0;

 L21956: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V8SFmode))
    {
      operands[4] = x2;
      goto L21957;
    }
  goto ret0;

 L21957: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1967;  /* *avx2_gathersiv8sf_2 */
    }
  goto ret0;

 L30375: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[3] = x4;
      goto L22881;
    }
  goto ret0;

 L22881: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22882;
    }
  goto ret0;

 L22882: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22883;
  goto ret0;

 L22883: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22884;
  goto ret0;

 L22884: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L22885;
    }
  goto ret0;

 L22885: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1999;  /* *avx2_gatherdiv8sf_2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_41 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case PLUS:
      goto L12989;
    case MINUS:
      goto L13070;
    default:
     break;
   }
  goto ret0;

 L12989: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L12990;
  goto ret0;

 L12990: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, V8SFmode))
    {
      operands[1] = x6;
      goto L12991;
    }
  goto ret0;

 L12991: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L12992;
  goto ret0;

 L12992: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12993;
  goto ret0;

 L12993: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L12994;
  goto ret0;

 L12994: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L12995;
  goto ret0;

 L12995: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L12996;
  goto ret0;

 L12996: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12997;
  goto ret0;

 L12997: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == PLUS)
    goto L12998;
  goto ret0;

 L12998: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L12999;
  goto ret0;

 L12999: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13000;
  goto ret0;

 L13000: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13001;
  goto ret0;

 L13001: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L13002;
  goto ret0;

 L13002: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13003;
  goto ret0;

 L13003: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13004;
  goto ret0;

 L13004: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13005;
  goto ret0;

 L13005: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L13006;
  goto ret0;

 L13006: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SFmode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L13007;
  goto ret0;

 L13007: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == PLUS)
    goto L13008;
  goto ret0;

 L13008: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13009;
  goto ret0;

 L13009: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8SFmode))
    {
      operands[2] = x6;
      goto L13010;
    }
  goto ret0;

 L13010: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13011;
  goto ret0;

 L13011: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13012;
  goto ret0;

 L13012: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13013;
  goto ret0;

 L13013: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13014;
  goto ret0;

 L13014: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13015;
  goto ret0;

 L13015: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L13016;
  goto ret0;

 L13016: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == PLUS)
    goto L13017;
  goto ret0;

 L13017: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13018;
  goto ret0;

 L13018: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13019;
  goto ret0;

 L13019: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13020;
  goto ret0;

 L13020: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L13021;
  goto ret0;

 L13021: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13022;
  goto ret0;

 L13022: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13023;
  goto ret0;

 L13023: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13024;
  goto ret0;

 L13024: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L13025;
  goto ret0;

 L13025: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SFmode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L13026;
  goto ret0;

 L13026: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SFmode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L13027;
  goto ret0;

 L13027: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == PLUS)
    goto L13028;
  goto ret0;

 L13028: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13029;
  goto ret0;

 L13029: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13030;
  goto ret0;

 L13030: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13031;
  goto ret0;

 L13031: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L13032;
  goto ret0;

 L13032: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13033;
  goto ret0;

 L13033: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13034;
  goto ret0;

 L13034: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13035;
  goto ret0;

 L13035: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L13036;
  goto ret0;

 L13036: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == PLUS)
    goto L13037;
  goto ret0;

 L13037: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13038;
  goto ret0;

 L13038: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13039;
  goto ret0;

 L13039: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13040;
  goto ret0;

 L13040: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L13041;
  goto ret0;

 L13041: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13042;
  goto ret0;

 L13042: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13043;
  goto ret0;

 L13043: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13044;
  goto ret0;

 L13044: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L13045;
  goto ret0;

 L13045: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SFmode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L13046;
  goto ret0;

 L13046: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == PLUS)
    goto L13047;
  goto ret0;

 L13047: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13048;
  goto ret0;

 L13048: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13049;
  goto ret0;

 L13049: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13050;
  goto ret0;

 L13050: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L13051;
  goto ret0;

 L13051: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13052;
  goto ret0;

 L13052: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13053;
  goto ret0;

 L13053: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13054;
  goto ret0;

 L13054: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L13055;
  goto ret0;

 L13055: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == PLUS)
    goto L13056;
  goto ret0;

 L13056: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13057;
  goto ret0;

 L13057: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13058;
  goto ret0;

 L13058: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13059;
  goto ret0;

 L13059: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L13060;
  goto ret0;

 L13060: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13061;
  goto ret0;

 L13061: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13062;
  goto ret0;

 L13062: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13063;
  goto ret0;

 L13063: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 1261 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1189;  /* avx_haddv8sf3 */
    }
  goto ret0;

 L13070: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13071;
  goto ret0;

 L13071: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, V8SFmode))
    {
      operands[1] = x6;
      goto L13072;
    }
  goto ret0;

 L13072: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13073;
  goto ret0;

 L13073: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13074;
  goto ret0;

 L13074: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13075;
  goto ret0;

 L13075: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13076;
  goto ret0;

 L13076: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13077;
  goto ret0;

 L13077: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L13078;
  goto ret0;

 L13078: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == MINUS)
    goto L13079;
  goto ret0;

 L13079: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13080;
  goto ret0;

 L13080: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13081;
  goto ret0;

 L13081: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13082;
  goto ret0;

 L13082: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L13083;
  goto ret0;

 L13083: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13084;
  goto ret0;

 L13084: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13085;
  goto ret0;

 L13085: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13086;
  goto ret0;

 L13086: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L13087;
  goto ret0;

 L13087: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SFmode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L13088;
  goto ret0;

 L13088: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == MINUS)
    goto L13089;
  goto ret0;

 L13089: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13090;
  goto ret0;

 L13090: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, V8SFmode))
    {
      operands[2] = x6;
      goto L13091;
    }
  goto ret0;

 L13091: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13092;
  goto ret0;

 L13092: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13093;
  goto ret0;

 L13093: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13094;
  goto ret0;

 L13094: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13095;
  goto ret0;

 L13095: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13096;
  goto ret0;

 L13096: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L13097;
  goto ret0;

 L13097: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == MINUS)
    goto L13098;
  goto ret0;

 L13098: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13099;
  goto ret0;

 L13099: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13100;
  goto ret0;

 L13100: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13101;
  goto ret0;

 L13101: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L13102;
  goto ret0;

 L13102: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13103;
  goto ret0;

 L13103: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13104;
  goto ret0;

 L13104: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13105;
  goto ret0;

 L13105: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L13106;
  goto ret0;

 L13106: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SFmode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L13107;
  goto ret0;

 L13107: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SFmode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L13108;
  goto ret0;

 L13108: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == MINUS)
    goto L13109;
  goto ret0;

 L13109: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13110;
  goto ret0;

 L13110: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13111;
  goto ret0;

 L13111: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13112;
  goto ret0;

 L13112: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L13113;
  goto ret0;

 L13113: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13114;
  goto ret0;

 L13114: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13115;
  goto ret0;

 L13115: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13116;
  goto ret0;

 L13116: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L13117;
  goto ret0;

 L13117: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == MINUS)
    goto L13118;
  goto ret0;

 L13118: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13119;
  goto ret0;

 L13119: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13120;
  goto ret0;

 L13120: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13121;
  goto ret0;

 L13121: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L13122;
  goto ret0;

 L13122: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13123;
  goto ret0;

 L13123: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L13124;
  goto ret0;

 L13124: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13125;
  goto ret0;

 L13125: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L13126;
  goto ret0;

 L13126: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SFmode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L13127;
  goto ret0;

 L13127: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == MINUS)
    goto L13128;
  goto ret0;

 L13128: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13129;
  goto ret0;

 L13129: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13130;
  goto ret0;

 L13130: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13131;
  goto ret0;

 L13131: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L13132;
  goto ret0;

 L13132: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13133;
  goto ret0;

 L13133: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13134;
  goto ret0;

 L13134: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13135;
  goto ret0;

 L13135: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L13136;
  goto ret0;

 L13136: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == MINUS)
    goto L13137;
  goto ret0;

 L13137: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13138;
  goto ret0;

 L13138: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13139;
  goto ret0;

 L13139: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13140;
  goto ret0;

 L13140: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L13141;
  goto ret0;

 L13141: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == SFmode
      && GET_CODE (x5) == VEC_SELECT)
    goto L13142;
  goto ret0;

 L13142: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L13143;
  goto ret0;

 L13143: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == PARALLEL
      && XVECLEN (x6, 0) == 1)
    goto L13144;
  goto ret0;

 L13144: ATTRIBUTE_UNUSED_LABEL
  x7 = XVECEXP (x6, 0, 0);
  if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 1261 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1190;  /* avx_hsubv8sf3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_42 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L30328;
    case PLUS:
      goto L12418;
    case MINUS:
      goto L12424;
    case MULT:
      goto L12498;
    case DIV:
      goto L12538;
    case SQRT:
      goto L12595;
    case SMAX:
      goto L12646;
    case SMIN:
      goto L12652;
    case VEC_MERGE:
      goto L12842;
    case VEC_CONCAT:
      goto L12986;
    case AND:
      goto L13384;
    case IOR:
      goto L13418;
    case XOR:
      goto L13424;
    case FMA:
      goto L13562;
    case FLOAT:
      goto L14024;
    case VEC_SELECT:
      goto L14260;
    case VEC_DUPLICATE:
      goto L14443;
    case IF_THEN_ELSE:
      goto L19387;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L30308;
    default:
      goto ret0;
   }
 L30308: ATTRIBUTE_UNUSED_LABEL
  if (sse_comparison_operator (x1, V8SFmode))
    {
      operands[3] = x1;
      goto L13276;
    }
  goto ret0;

 L30328: ATTRIBUTE_UNUSED_LABEL
  return recog_40 (x0, insn, pnum_clobbers);

 L12418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12419;
    }
  goto ret0;

 L12419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12420;
    }
  goto ret0;

 L12420: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)) && (TARGET_AVX)))
    {
      return 1117;  /* *addv8sf3 */
    }
  goto ret0;

 L12424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12425;
    }
  goto ret0;

 L12425: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12426;
    }
  goto ret0;

 L12426: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)) && (TARGET_AVX)))
    {
      return 1118;  /* *subv8sf3 */
    }
  goto ret0;

 L12498: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12499;
    }
  goto ret0;

 L12499: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12500;
    }
  goto ret0;

 L12500: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 818 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1129;  /* *mulv8sf3 */
    }
  goto ret0;

 L12538: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12539;
    }
  goto ret0;

 L12539: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12540;
    }
  goto ret0;

 L12540: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 875 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1135;  /* avx_divv8sf3 */
    }
  goto ret0;

 L12595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12596;
    }
  goto ret0;

 L12596: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 953 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1144;  /* avx_sqrtv8sf2 */
    }
  goto ret0;

 L12646: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SFmode)
    goto L30376;
  goto ret0;

 L30376: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12647;
    }
 L30377: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12695;
    }
  goto ret0;

 L12647: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12648;
    }
  x2 = XEXP (x1, 0);
  goto L30377;

 L12648: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && flag_finite_math_only
   && ix86_binary_operator_ok (SMAX, V8SFmode, operands)) && (TARGET_AVX)))
    {
      return 1153;  /* *smaxv8sf3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30377;

 L12695: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12696;
    }
  goto ret0;

 L12696: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1049 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !flag_finite_math_only) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1161;  /* *smaxv8sf3 */
    }
  goto ret0;

 L12652: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SFmode)
    goto L30378;
  goto ret0;

 L30378: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12653;
    }
 L30379: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12701;
    }
  goto ret0;

 L12653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12654;
    }
  x2 = XEXP (x1, 0);
  goto L30379;

 L12654: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && flag_finite_math_only
   && ix86_binary_operator_ok (SMIN, V8SFmode, operands)) && (TARGET_AVX)))
    {
      return 1154;  /* *sminv8sf3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30379;

 L12701: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12702;
    }
  goto ret0;

 L12702: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1049 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !flag_finite_math_only) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1162;  /* *sminv8sf3 */
    }
  goto ret0;

 L12842: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SFmode)
    goto L30380;
  goto ret0;

 L30380: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PLUS)
    goto L12843;
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L18498;
    }
  goto ret0;

 L12843: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L12844;
    }
  goto ret0;

 L12844: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[2] = x3;
      goto L12845;
    }
  goto ret0;

 L12845: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8SFmode
      && GET_CODE (x2) == MINUS)
    goto L12846;
  goto ret0;

 L12846: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L12847;
  goto ret0;

 L12847: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L12848;
  goto ret0;

 L12848: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == CONST_INT
      && XWINT (x2, 0) == 170L
      && 
#line 1151 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1183;  /* avx_addsubv8sf3 */
    }
  goto ret0;

 L18498: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L18499;
    }
  goto ret0;

 L18499: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18500;
    }
  goto ret0;

 L18500: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9461 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1667;  /* avx_blendps256 */
    }
  goto ret0;

 L12986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L30382;
  goto ret0;

 L30382: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case VEC_CONCAT:
      goto L12987;
    case VEC_SELECT:
      goto L20697;
    case REG:
    case SUBREG:
    case MEM:
      goto L30383;
    default:
      goto L30384;
   }
 L30383: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L20475;
    }
 L30384: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L20674;
    }
 L30386: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L20982;
    }
  goto ret0;

 L12987: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SFmode
      && GET_CODE (x3) == VEC_CONCAT)
    goto L12988;
  goto ret0;

 L12988: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode)
    goto L30387;
  goto ret0;

 L30387: ATTRIBUTE_UNUSED_LABEL
  return recog_41 (x0, insn, pnum_clobbers);

 L20697: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L20698;
    }
  goto ret0;

 L20698: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L20699;
  goto ret0;

 L20699: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L20700;
  goto ret0;

 L20700: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L20701;
  goto ret0;

 L20701: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L20702;
  goto ret0;

 L20702: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L20703;
  goto ret0;

 L20703: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L20704;
    }
  goto ret0;

 L20704: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12218 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1890;  /* vec_set_hi_v8sf */
    }
  goto ret0;

 L20475: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11874 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1862;  /* avx_vbroadcastf128_v8sf */
    }
  x2 = XEXP (x1, 0);
  goto L30384;

 L20674: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20675;
  x2 = XEXP (x1, 0);
  goto L30386;

 L20675: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L20676;
    }
  x2 = XEXP (x1, 0);
  goto L30386;

 L20676: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L20677;
  x2 = XEXP (x1, 0);
  goto L30386;

 L20677: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L20678;
  x2 = XEXP (x1, 0);
  goto L30386;

 L20678: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L20679;
  x2 = XEXP (x1, 0);
  goto L30386;

 L20679: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L20680;
  x2 = XEXP (x1, 0);
  goto L30386;

 L20680: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 12202 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1888;  /* vec_set_lo_v8sf */
    }
  x2 = XEXP (x1, 0);
  goto L30386;

 L20982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L20983;
    }
  goto ret0;

 L20983: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12438 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1928;  /* avx_vec_concatv8sf */
    }
  goto ret0;

 L13384: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SFmode)
    goto L30389;
  goto ret0;

 L30389: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L13385;
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L13413;
    }
  goto ret0;

 L13385: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L13386;
    }
  goto ret0;

 L13386: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13387;
    }
  goto ret0;

 L13387: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1560 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1213;  /* avx_andnotv8sf3 */
    }
  goto ret0;

 L13413: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13414;
    }
  goto ret0;

 L13414: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (AND, V8SFmode, operands)) && (TARGET_AVX)))
    {
      return 1217;  /* *andv8sf3 */
    }
  goto ret0;

 L13418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L13419;
    }
  goto ret0;

 L13419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13420;
    }
  goto ret0;

 L13420: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (IOR, V8SFmode, operands)) && (TARGET_AVX)))
    {
      return 1218;  /* *iorv8sf3 */
    }
  goto ret0;

 L13424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L13425;
    }
  goto ret0;

 L13425: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13426;
    }
  goto ret0;

 L13426: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (XOR, V8SFmode, operands)) && (TARGET_AVX)))
    {
      return 1219;  /* *xorv8sf3 */
    }
  goto ret0;

 L13562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SFmode)
    goto L30392;
  goto ret0;

 L30392: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13657;
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L13563;
    }
  goto ret0;

 L13657: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L13658;
    }
  goto ret0;

 L13658: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13659;
    }
  goto ret0;

 L13659: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V8SFmode)
    goto L30394;
  goto ret0;

 L30394: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13712;
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[3] = x2;
      goto L13660;
    }
  goto ret0;

 L13712: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[3] = x3;
      goto L13713;
    }
  goto ret0;

 L13713: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1831 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1259;  /* *fma_fnmsub_v8sf */
    }
  goto ret0;

 L13660: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1812 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1253;  /* *fma_fnmadd_v8sf */
    }
  goto ret0;

 L13563: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13564;
    }
  goto ret0;

 L13564: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V8SFmode)
    goto L30396;
  goto ret0;

 L30396: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13611;
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[3] = x2;
      goto L13565;
    }
  goto ret0;

 L13611: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[3] = x3;
      goto L13612;
    }
  goto ret0;

 L13612: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1794 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1247;  /* *fma_fmsub_v8sf */
    }
  goto ret0;

 L13565: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1776 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1241;  /* *fma_fmadd_v8sf */
    }
  goto ret0;

 L14024: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L14025;
    }
  goto ret0;

 L14025: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2238 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 135 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1296;  /* floatv8siv8sf2 */
    }
  goto ret0;

 L14260: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V16SFmode:
      goto L30397;
    case V8SFmode:
      goto L30398;
    default:
      break;
    }
  goto ret0;

 L30397: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L14261;
  goto ret0;

 L14261: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8SFmode)
    goto L30399;
  goto ret0;

 L30399: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L14262;
    }
 L30400: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L14314;
    }
 L30401: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L14366;
    }
  goto ret0;

 L14262: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[2] = x3;
      goto L14263;
    }
  x3 = XEXP (x2, 0);
  goto L30400;

 L14263: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L14264;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14264: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30402;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L30402: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 2L:
        goto L14265;
      case 0L:
        goto L14291;
      default:
        break;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14265: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L14266;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14266: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L14267;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14267: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L14268;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14268: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L14269;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14269: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L14270;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14270: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L14271;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14271: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 3307 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1331;  /* avx_unpckhps256 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14291: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L14292;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14292: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14293;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14293: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L14294;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14294: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14295;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14295: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L14296;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14296: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14297;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14297: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)]
      && 
#line 3375 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1333;  /* avx_unpcklps256 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30400;

 L14314: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L14315;
  x3 = XEXP (x2, 0);
  goto L30401;

 L14315: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L14316;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14316: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30404;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L30404: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L14317;
      case 0L:
        goto L14343;
      default:
        break;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14317: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14318;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14318: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L14319;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14319: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L14320;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14320: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14321;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14321: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14322;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14322: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L14323;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14323: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 3444 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1335;  /* avx_movshdup256 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14343: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14344;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14344: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14345;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14345: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14346;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14346: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14347;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14347: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14348;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14348: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L14349;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14349: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)]
      && 
#line 3477 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1337;  /* avx_movsldup256 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30401;

 L14366: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[2] = x3;
      goto L14367;
    }
  goto ret0;

 L14367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL)
    goto L30406;
  goto ret0;

 L30406: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 8)
    goto L14368;
 L30407: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1)
    {
      operands[3] = x2;
      goto L20591;
    }
  goto ret0;

 L14368: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L14369;
    }
  goto L30407;

 L14369: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L14370;
    }
  goto L30407;

 L14370: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_8_to_11_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L14371;
    }
  goto L30407;

 L14371: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_8_to_11_operand (x3, VOIDmode))
    {
      operands[6] = x3;
      goto L14372;
    }
  goto L30407;

 L14372: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[7] = x3;
      goto L14373;
    }
  goto L30407;

 L14373: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[8] = x3;
      goto L14374;
    }
  goto L30407;

 L14374: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (const_12_to_15_operand (x3, VOIDmode))
    {
      operands[9] = x3;
      goto L14375;
    }
  goto L30407;

 L14375: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (const_12_to_15_operand (x3, VOIDmode))
    {
      operands[10] = x3;
      goto L14376;
    }
  goto L30407;

 L14376: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3535 "../../gcc/config/i386/sse.md"
(TARGET_AVX
   && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
       && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
       && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
       && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4))))
    {
      return 1339;  /* avx_shufps256_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L30407;

 L20591: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L20592;
    }
  goto ret0;

 L20592: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12092 "../../gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vperm2f128_parallel (operands[3], V8SFmode)))
    {
      return 1879;  /* *avx_vperm2f128v8sf_nozero */
    }
  goto ret0;

 L30398: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L20492;
    }
  goto ret0;

 L20492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL)
    goto L30408;
  goto ret0;

 L30408: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1
      && avx_vbroadcast_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L20493;
    }
 L30409: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1)
    {
      operands[2] = x2;
      goto L20507;
    }
  goto ret0;

 L20493: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L20494;
    }
  goto L30409;

 L20494: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11922 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1865;  /* *avx_vperm_broadcast_v8sf */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L30409;

 L20507: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L20508;
    }
  goto ret0;

 L20508: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12006 "../../gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vpermilp_parallel (operands[2], V8SFmode)) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1867;  /* *avx_vpermilpv8sf */
    }
  goto ret0;

 L14443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SFmode)
    goto L30410;
  goto ret0;

 L30410: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14444;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L20420;
    }
  goto ret0;

 L14444: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14445;
    }
  goto ret0;

 L14445: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14446;
  goto ret0;

 L14446: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 3734 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 135 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1347;  /* avx2_vec_dupv8sf */
    }
  goto ret0;

 L20420: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11837 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1851;  /* vec_dupv8sf */
    }
  goto ret0;

 L19387: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[3] = x2;
      goto L19388;
    }
  goto ret0;

 L19388: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L19389;
    }
  goto ret0;

 L19389: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L19390;
    }
  goto ret0;

 L19390: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 117 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1756;  /* xop_pcmov_v8sf256 */
    }
  goto ret0;

 L13276: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L13277;
    }
  goto ret0;

 L13277: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L13278;
    }
  goto ret0;

 L13278: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1430 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1199;  /* *avx_maskcmpv8sf3_comm */
    }
 L13302: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1446 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1203;  /* avx_maskcmpv8sf3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_43 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30482;
    case 2:
      goto L30485;
    case 3:
      goto L30487;
    case 4:
      goto L30493;
    default:
      break;
    }
  goto ret0;

 L30482: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 92L:
      goto L12281;
    case 42L:
      goto L12583;
    case 43L:
      goto L12634;
    case 115L:
      goto L20098;
    case 129L:
      goto L21003;
    default:
      break;
    }
  goto ret0;

 L12281: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12282;
    }
  goto ret0;

 L12282: ATTRIBUTE_UNUSED_LABEL
  if (
#line 589 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1092;  /* sse_loadups */
    }
  goto ret0;

 L12583: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12584;
    }
  goto ret0;

 L12584: ATTRIBUTE_UNUSED_LABEL
  if (
#line 905 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1142;  /* sse_rcpv4sf2 */
    }
  goto ret0;

 L12634: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12635;
    }
  goto ret0;

 L12635: ATTRIBUTE_UNUSED_LABEL
  if (
#line 991 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1151;  /* sse_rsqrtv4sf2 */
    }
  goto ret0;

 L20098: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L20099;
    }
  goto ret0;

 L20099: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11454 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1801;  /* xop_frczv4sf2 */
    }
  goto ret0;

 L21003: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V4HImode))
    {
      operands[1] = x2;
      goto L21004;
    }
  goto ret0;

 L21004: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12481 "../../gcc/config/i386/sse.md"
(TARGET_F16C))
    {
      return 1931;  /* *vcvtph2ps_load */
    }
  goto ret0;

 L30485: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 46L:
      goto L12780;
    case 47L:
      goto L12804;
    case 80L:
      goto L18924;
    case 124L:
      goto L20539;
    case 40L:
      goto L20786;
    default:
      break;
    }
  goto ret0;

 L12780: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12781;
    }
  goto ret0;

 L12781: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12782;
    }
  goto ret0;

 L12782: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1087 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1174;  /* *ieee_sminv4sf3 */
    }
  goto ret0;

 L12804: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12805;
    }
  goto ret0;

 L12805: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12806;
    }
  goto ret0;

 L12806: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1102 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1178;  /* *ieee_smaxv4sf3 */
    }
  goto ret0;

 L18924: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L18925;
    }
  goto ret0;

 L18925: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L18926;
    }
  goto ret0;

 L18926: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9884 "../../gcc/config/i386/sse.md"
(TARGET_ROUND))
    {
      return 1723;  /* sse4_1_roundps */
    }
  goto ret0;

 L20539: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L20540;
    }
  goto ret0;

 L20540: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20541;
    }
  goto ret0;

 L20541: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12025 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1872;  /* avx_vpermilvarv4sf3 */
    }
  goto ret0;

 L20786: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20787;
    }
  goto ret0;

 L20787: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L20788;
    }
  goto ret0;

 L20788: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12312 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1895;  /* avx_maskloadps */
    }
  goto ret0;

 L30487: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 123L:
      goto L13237;
    case 111L:
      goto L13733;
    case 103L:
      goto L14502;
    case 104L:
      goto L18560;
    default:
      break;
    }
  goto ret0;

 L13237: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13238;
    }
  goto ret0;

 L13238: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13239;
    }
  goto ret0;

 L13239: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_31_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L13240;
    }
  goto ret0;

 L13240: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1401 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1194;  /* avx_cmpv4sf3 */
    }
  goto ret0;

 L13733: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13734;
    }
  goto ret0;

 L13734: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13735;
    }
  goto ret0;

 L13735: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == V4SFmode)
    goto L30499;
  goto ret0;

 L30499: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13765;
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L13736;
    }
  goto ret0;

 L13765: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[3] = x3;
      goto L13766;
    }
  goto ret0;

 L13766: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1888 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1266;  /* *fma_fmsubadd_v4sf */
    }
  goto ret0;

 L13736: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1869 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1262;  /* *fma_fmaddsub_v4sf */
    }
  goto ret0;

 L14502: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L14503;
    }
  goto ret0;

 L14503: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14504;
    }
  goto ret0;

 L14504: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L14505;
    }
  goto ret0;

 L14505: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3899 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1356;  /* sse4_1_insertps */
    }
  goto ret0;

 L18560: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L18561;
    }
  goto ret0;

 L18561: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L18562;
    }
  goto ret0;

 L18562: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18563;
    }
  goto ret0;

 L18563: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9499 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1676;  /* sse4_1_dpps */
    }
  goto ret0;

 L30493: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 125L:
      goto L20244;
    case 135L:
      goto L21339;
    default:
      break;
    }
  goto ret0;

 L20244: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L20245;
    }
  goto ret0;

 L20245: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L20246;
    }
  goto ret0;

 L20246: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L20247;
    }
  goto ret0;

 L20247: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (const_0_to_3_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L20248;
    }
  goto ret0;

 L20248: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11558 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1824;  /* xop_vpermil2v4sf3 */
    }
  goto ret0;

 L21339: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L21340;
    }
  if (GET_CODE (x2) == PC)
    goto L21804;
  goto ret0;

 L21340: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SFmode))
    {
      operands[7] = x2;
      goto L21341;
    }
  goto ret0;

 L21341: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30500;
    case DImode:
      goto L30501;
    default:
      break;
    }
  goto ret0;

 L30500: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21342;
  goto ret0;

 L21342: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L21343;
    }
  goto ret0;

 L21343: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30502;
    case V2DImode:
      goto L30503;
    default:
      break;
    }
  goto ret0;

 L30502: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21344;
    }
  goto ret0;

 L21344: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21345;
    }
  goto ret0;

 L21345: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21346;
  goto ret0;

 L21346: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21347;
  goto ret0;

 L21347: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[5] = x2;
      goto L21348;
    }
  goto ret0;

 L21348: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1946;  /* *avx2_gathersiv4sf */
    }
  goto ret0;

 L30503: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[4] = x4;
      goto L22272;
    }
  goto ret0;

 L22272: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22273;
    }
  goto ret0;

 L22273: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22274;
  goto ret0;

 L22274: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22275;
  goto ret0;

 L22275: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[5] = x2;
      goto L22276;
    }
  goto ret0;

 L22276: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1978;  /* *avx2_gatherdiv4sf */
    }
  goto ret0;

 L30501: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21371;
  goto ret0;

 L21371: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L21372;
    }
  goto ret0;

 L21372: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30504;
    case V2DImode:
      goto L30505;
    default:
      break;
    }
  goto ret0;

 L30504: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21373;
    }
  goto ret0;

 L21373: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21374;
    }
  goto ret0;

 L21374: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21375;
  goto ret0;

 L21375: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21376;
  goto ret0;

 L21376: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[5] = x2;
      goto L21377;
    }
  goto ret0;

 L21377: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1947;  /* *avx2_gathersiv4sf */
    }
  goto ret0;

 L30505: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[4] = x4;
      goto L22301;
    }
  goto ret0;

 L22301: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22302;
    }
  goto ret0;

 L22302: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22303;
  goto ret0;

 L22303: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22304;
  goto ret0;

 L22304: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[5] = x2;
      goto L22305;
    }
  goto ret0;

 L22305: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1979;  /* *avx2_gatherdiv4sf */
    }
  goto ret0;

 L21804: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, SFmode))
    {
      operands[6] = x2;
      goto L21805;
    }
  goto ret0;

 L21805: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30506;
    case DImode:
      goto L30507;
    default:
      break;
    }
  goto ret0;

 L30506: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21806;
  goto ret0;

 L21806: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L21807;
    }
  goto ret0;

 L21807: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30508;
    case V2DImode:
      goto L30509;
    default:
      break;
    }
  goto ret0;

 L30508: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21808;
    }
  goto ret0;

 L21808: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21809;
    }
  goto ret0;

 L21809: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21810;
  goto ret0;

 L21810: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21811;
  goto ret0;

 L21811: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L21812;
    }
  goto ret0;

 L21812: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1962;  /* *avx2_gathersiv4sf_2 */
    }
  goto ret0;

 L30509: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[3] = x4;
      goto L22736;
    }
  goto ret0;

 L22736: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22737;
    }
  goto ret0;

 L22737: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22738;
  goto ret0;

 L22738: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22739;
  goto ret0;

 L22739: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L22740;
    }
  goto ret0;

 L22740: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1994;  /* *avx2_gatherdiv4sf_2 */
    }
  goto ret0;

 L30507: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21835;
  goto ret0;

 L21835: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L21836;
    }
  goto ret0;

 L21836: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30510;
    case V2DImode:
      goto L30511;
    default:
      break;
    }
  goto ret0;

 L30510: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21837;
    }
  goto ret0;

 L21837: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21838;
    }
  goto ret0;

 L21838: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21839;
  goto ret0;

 L21839: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21840;
  goto ret0;

 L21840: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L21841;
    }
  goto ret0;

 L21841: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1963;  /* *avx2_gathersiv4sf_2 */
    }
  goto ret0;

 L30511: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[3] = x4;
      goto L22765;
    }
  goto ret0;

 L22765: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22766;
    }
  goto ret0;

 L22766: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22767;
  goto ret0;

 L22767: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22768;
  goto ret0;

 L22768: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L22769;
    }
  goto ret0;

 L22769: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1995;  /* *avx2_gatherdiv4sf_2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_44 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L12467;
    case MINUS:
      goto L12475;
    case MULT:
      goto L12523;
    case DIV:
      goto L12563;
    case UNSPEC:
      goto L30529;
    case SQRT:
      goto L12616;
    case SMAX:
      goto L12743;
    case SMIN:
      goto L12751;
    case FMA:
      goto L13787;
    case VEC_DUPLICATE:
      goto L13947;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L30522;
    case REG:
    case SUBREG:
      goto L30525;
    default:
      goto L30526;
   }
 L30522: ATTRIBUTE_UNUSED_LABEL
  if (sse_comparison_operator (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L13325;
    }
 L30525: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L14438;
    }
 L30526: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L18505;
    }
  goto ret0;

 L12467: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12468;
    }
  goto ret0;

 L12468: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L12855;
    }
  goto ret0;

 L12855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SFmode
      && GET_CODE (x2) == MINUS)
    goto L12856;
 L12469: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x2, operands[1]))
    goto L12470;
  goto ret0;

 L12856: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L12857;
  goto L12469;

 L12857: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L12858;
  goto L12469;

 L12858: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (10)]
      && 
#line 1165 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1184;  /* sse3_addsubv4sf3 */
    }
  x2 = XEXP (x1, 1);
  goto L12469;

 L12470: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 796 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1125;  /* sse_vmaddv4sf3 */
    }
  goto ret0;

 L12475: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12476;
    }
  goto ret0;

 L12476: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L12477;
    }
  goto ret0;

 L12477: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12478;
  goto ret0;

 L12478: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 796 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1126;  /* sse_vmsubv4sf3 */
    }
  goto ret0;

 L12523: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12524;
    }
  goto ret0;

 L12524: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L12525;
    }
  goto ret0;

 L12525: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12526;
  goto ret0;

 L12526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 835 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1133;  /* sse_vmmulv4sf3 */
    }
  goto ret0;

 L12563: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12564;
    }
  goto ret0;

 L12564: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L12565;
    }
  goto ret0;

 L12565: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12566;
  goto ret0;

 L12566: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 892 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1139;  /* sse_vmdivv4sf3 */
    }
  goto ret0;

 L30529: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L30534;
    case 3:
      goto L30536;
    case 2:
      goto L30537;
    default:
      break;
    }
  goto ret0;

 L30534: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 42L:
      goto L12589;
    case 43L:
      goto L12640;
    case 115L:
      goto L20119;
    default:
      break;
    }
  goto ret0;

 L12589: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12590;
    }
  goto ret0;

 L12590: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12591;
    }
  goto ret0;

 L12591: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 919 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1143;  /* sse_vmrcpv4sf2 */
    }
  goto ret0;

 L12640: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12641;
    }
  goto ret0;

 L12641: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12642;
    }
  goto ret0;

 L12642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1004 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1152;  /* sse_vmrsqrtv4sf2 */
    }
  goto ret0;

 L20119: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L20120;
    }
  goto ret0;

 L20120: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L20121;
    }
  goto ret0;

 L20121: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 11478 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1805;  /* *xop_vmfrczv4sf2 */
    }
  goto ret0;

 L30536: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 123)
    goto L13259;
  goto ret0;

 L13259: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13260;
    }
  goto ret0;

 L13260: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L13261;
    }
  goto ret0;

 L13261: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_31_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L13262;
    }
  goto ret0;

 L13262: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13263;
  goto ret0;

 L13263: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1418 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1197;  /* avx_vmcmpv4sf3 */
    }
  goto ret0;

 L30537: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 80)
    goto L18943;
  goto ret0;

 L18943: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L18944;
    }
  goto ret0;

 L18944: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_15_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L18945;
    }
  goto ret0;

 L18945: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L18946;
    }
  goto ret0;

 L18946: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 9960 "../../gcc/config/i386/sse.md"
(TARGET_ROUND))
    {
      return 1726;  /* sse4_1_roundss */
    }
  goto ret0;

 L12616: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12617;
    }
  goto ret0;

 L12617: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12618;
    }
  goto ret0;

 L12618: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 967 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1148;  /* sse_vmsqrtv4sf2 */
    }
  goto ret0;

 L12743: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12744;
    }
  goto ret0;

 L12744: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L12745;
    }
  goto ret0;

 L12745: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12746;
  goto ret0;

 L12746: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1066 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1169;  /* sse_vmsmaxv4sf3 */
    }
  goto ret0;

 L12751: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12752;
    }
  goto ret0;

 L12752: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L12753;
    }
  goto ret0;

 L12753: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12754;
  goto ret0;

 L12754: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1066 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1170;  /* sse_vmsminv4sf3 */
    }
  goto ret0;

 L13787: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SFmode)
    goto L30540;
  goto ret0;

 L30540: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L13826;
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13788;
    }
  goto ret0;

 L13826: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V4SFmode)
    goto L30541;
  goto ret0;

 L30541: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, V4SFmode))
    {
      operands[2] = x4;
      goto L13827;
    }
 L30542: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, V4SFmode))
    {
      operands[1] = x4;
      goto L13907;
    }
  goto ret0;

 L13827: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13828;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30542;

 L13828: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) == V4SFmode)
    goto L30544;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30542;

 L30544: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L13849;
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[3] = x3;
      goto L13829;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30542;

 L13849: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SFmode))
    {
      operands[3] = x4;
      goto L13850;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30542;

 L13850: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13851;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30542;

 L13851: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1974 "../../gcc/config/i386/sse.md"
(TARGET_FMA))
    {
      return 1275;  /* *fmai_fnmsub_v4sf */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30542;

 L13829: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13830;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30542;

 L13830: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1956 "../../gcc/config/i386/sse.md"
(TARGET_FMA))
    {
      return 1273;  /* *fmai_fnmadd_v4sf */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30542;

 L13907: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L13908;
    }
  goto ret0;

 L13908: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) == V4SFmode)
    goto L30546;
  goto ret0;

 L30546: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L13929;
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[3] = x3;
      goto L13909;
    }
  goto ret0;

 L13929: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SFmode))
    {
      operands[3] = x4;
      goto L13930;
    }
  goto ret0;

 L13930: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L13931;
    }
  goto ret0;

 L13931: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2053 "../../gcc/config/i386/sse.md"
(TARGET_FMA4))
    {
      return 1283;  /* *fma4i_vmfnmsub_v4sf */
    }
  goto ret0;

 L13909: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L13910;
    }
  goto ret0;

 L13910: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2037 "../../gcc/config/i386/sse.md"
(TARGET_FMA4))
    {
      return 1281;  /* *fma4i_vmfnmadd_v4sf */
    }
  goto ret0;

 L13788: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L13789;
    }
  goto ret0;

 L13789: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) == V4SFmode)
    goto L30548;
  goto ret0;

 L30548: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L13808;
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[3] = x3;
      goto L13790;
    }
  goto ret0;

 L13808: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SFmode))
    {
      operands[3] = x4;
      goto L13809;
    }
  goto ret0;

 L13809: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13810;
 L13889: ATTRIBUTE_UNUSED_LABEL
  if (const0_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L13890;
    }
  goto ret0;

 L13810: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1939 "../../gcc/config/i386/sse.md"
(TARGET_FMA))
    {
      return 1271;  /* *fmai_fmsub_v4sf */
    }
  x2 = XEXP (x1, 1);
  goto L13889;

 L13890: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2022 "../../gcc/config/i386/sse.md"
(TARGET_FMA4))
    {
      return 1279;  /* *fma4i_vmfmsub_v4sf */
    }
  goto ret0;

 L13790: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13791;
 L13870: ATTRIBUTE_UNUSED_LABEL
  if (const0_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L13871;
    }
  goto ret0;

 L13791: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1922 "../../gcc/config/i386/sse.md"
(TARGET_FMA))
    {
      return 1269;  /* *fmai_fmadd_v4sf */
    }
  x2 = XEXP (x1, 1);
  goto L13870;

 L13871: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2007 "../../gcc/config/i386/sse.md"
(TARGET_FMA4))
    {
      return 1277;  /* *fma4i_vmfmadd_v4sf */
    }
  goto ret0;

 L13947: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case V2SFmode:
      goto L30549;
    case SFmode:
      goto L30550;
    default:
      break;
    }
  goto ret0;

 L30549: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case FLOAT:
      goto L13948;
    case FLOAT_TRUNCATE:
      goto L14186;
    default:
     break;
   }
  goto ret0;

 L13948: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SImode))
    {
      operands[2] = x4;
      goto L13949;
    }
  goto ret0;

 L13949: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13950;
    }
  goto ret0;

 L13950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 2071 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1285;  /* sse_cvtpi2ps */
    }
  goto ret0;

 L14186: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2DFmode))
    {
      operands[2] = x4;
      goto L14187;
    }
  goto ret0;

 L14187: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14188;
    }
  goto ret0;

 L14188: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2652 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1322;  /* sse2_cvtsd2ss */
    }
  goto ret0;

 L30550: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == FLOAT)
    goto L13972;
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L14496;
    }
  goto ret0;

 L13972: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L30553;
    case DImode:
      goto L30554;
    default:
      break;
    }
  goto ret0;

 L30553: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L13973;
    }
  goto ret0;

 L13973: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13974;
    }
  goto ret0;

 L13974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2107 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1288;  /* sse_cvtsi2ss */
    }
  goto ret0;

 L30554: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L13981;
    }
  goto ret0;

 L13981: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13982;
    }
  goto ret0;

 L13982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2127 "../../gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT))
    {
      return 1289;  /* sse_cvtsi2ssq */
    }
  goto ret0;

 L14496: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14497;
    }
  goto ret0;

 L14497: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L14498;
    }
  goto ret0;

 L14498: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3870 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V4SFmode))))
    {
      return 1355;  /* *vec_setv4sf_sse4_1 */
    }
  goto ret0;

 L13325: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13326;
    }
  goto ret0;

 L13326: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L13327;
    }
  goto ret0;

 L13327: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13328;
  goto ret0;

 L13328: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1464 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1207;  /* sse_vmmaskcmpv4sf3 */
    }
  goto ret0;

 L14438: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14439;
    }
  x2 = XEXP (x1, 0);
  goto L30526;

 L14439: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 3719 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1346;  /* sse_movss */
    }
  x2 = XEXP (x1, 0);
  goto L30526;

 L18505: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L18506;
    }
  goto ret0;

 L18506: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18507;
    }
  goto ret0;

 L18507: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9461 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1668;  /* sse4_1_blendps */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_45 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case VEC_CONCAT:
      goto L14276;
    case UNSPEC:
      goto L30576;
    default:
     break;
   }
  goto ret0;

 L14276: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4SFmode)
    goto L30578;
  goto ret0;

 L30578: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14277;
    }
 L30579: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14329;
    }
 L30580: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14394;
    }
  goto ret0;

 L14277: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L14278;
    }
  x3 = XEXP (x2, 0);
  goto L30579;

 L14278: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14279;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L14279: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30581;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L30581: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 2L:
        goto L14280;
      case 0L:
        goto L14306;
      default:
        break;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L14280: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L14281;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L14281: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L14282;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L14282: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 3355 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1332;  /* vec_interleave_highv4sf */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L14306: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14307;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L14307: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14308;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L14308: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)]
      && 
#line 3423 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1334;  /* vec_interleave_lowv4sf */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30579;

 L14329: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L14330;
  x3 = XEXP (x2, 0);
  goto L30580;

 L14330: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14331;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L14331: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30583;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L30583: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L14332;
      case 0L:
        goto L14358;
      default:
        break;
      }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L14332: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14333;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L14333: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L14334;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L14334: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 3460 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1336;  /* sse3_movshdup */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L14358: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14359;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L14359: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L14360;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L14360: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)]
      && 
#line 3493 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1338;  /* sse3_movsldup */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30580;

 L14394: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L14395;
    }
  goto ret0;

 L14395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14396;
  goto ret0;

 L14396: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L14397;
    }
  goto ret0;

 L14397: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L14398;
    }
  goto ret0;

 L14398: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L14399;
    }
  goto ret0;

 L14399: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_4_to_7_operand (x3, VOIDmode))
    {
      operands[6] = x3;
      goto L14400;
    }
  goto ret0;

 L14400: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3581 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1341;  /* sse_shufps_v4sf */
    }
  goto ret0;

 L30576: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L30585;
    case 4:
      goto L30586;
    default:
      break;
    }
  goto ret0;

 L30585: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 129)
    goto L20994;
  goto ret0;

 L20994: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L20995;
    }
  goto ret0;

 L20995: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L20996;
  goto ret0;

 L20996: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L20997;
  goto ret0;

 L20997: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L20998;
  goto ret0;

 L20998: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L20999;
  goto ret0;

 L20999: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 12471 "../../gcc/config/i386/sse.md"
(TARGET_F16C))
    {
      return 1930;  /* vcvtph2ps */
    }
  goto ret0;

 L30586: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 135)
    goto L22992;
  goto ret0;

 L22992: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L22993;
    }
  if (GET_CODE (x3) == PC)
    goto L23153;
  goto ret0;

 L22993: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SFmode))
    {
      operands[7] = x3;
      goto L22994;
    }
  goto ret0;

 L22994: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L30587;
    case DImode:
      goto L30588;
    default:
      break;
    }
  goto ret0;

 L30587: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L22995;
  goto ret0;

 L22995: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L22996;
    }
  goto ret0;

 L22996: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22997;
    }
  goto ret0;

 L22997: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22998;
    }
  goto ret0;

 L22998: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22999;
  goto ret0;

 L22999: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L23000;
  goto ret0;

 L23000: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L23001;
    }
  goto ret0;

 L23001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L23002;
  goto ret0;

 L23002: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23003;
  goto ret0;

 L23003: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23004;
  goto ret0;

 L23004: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23005;
  goto ret0;

 L23005: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 12705 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2002;  /* *avx2_gatherdiv8sf_3 */
    }
  goto ret0;

 L30588: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L23035;
  goto ret0;

 L23035: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L23036;
    }
  goto ret0;

 L23036: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L23037;
    }
  goto ret0;

 L23037: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L23038;
    }
  goto ret0;

 L23038: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L23039;
  goto ret0;

 L23039: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L23040;
  goto ret0;

 L23040: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L23041;
    }
  goto ret0;

 L23041: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L23042;
  goto ret0;

 L23042: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23043;
  goto ret0;

 L23043: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23044;
  goto ret0;

 L23044: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23045;
  goto ret0;

 L23045: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 12705 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2003;  /* *avx2_gatherdiv8sf_3 */
    }
  goto ret0;

 L23153: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SFmode))
    {
      operands[6] = x3;
      goto L23154;
    }
  goto ret0;

 L23154: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L30589;
    case DImode:
      goto L30590;
    default:
      break;
    }
  goto ret0;

 L30589: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L23155;
  goto ret0;

 L23155: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L23156;
    }
  goto ret0;

 L23156: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L23157;
    }
  goto ret0;

 L23157: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L23158;
    }
  goto ret0;

 L23158: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L23159;
  goto ret0;

 L23159: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L23160;
  goto ret0;

 L23160: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L23161;
    }
  goto ret0;

 L23161: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L23162;
  goto ret0;

 L23162: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23163;
  goto ret0;

 L23163: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23164;
  goto ret0;

 L23164: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23165;
  goto ret0;

 L23165: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 12728 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2006;  /* *avx2_gatherdiv8sf_4 */
    }
  goto ret0;

 L30590: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L23195;
  goto ret0;

 L23195: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L23196;
    }
  goto ret0;

 L23196: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L23197;
    }
  goto ret0;

 L23197: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L23198;
    }
  goto ret0;

 L23198: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L23199;
  goto ret0;

 L23199: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L23200;
  goto ret0;

 L23200: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L23201;
    }
  goto ret0;

 L23201: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L23202;
  goto ret0;

 L23202: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23203;
  goto ret0;

 L23203: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23204;
  goto ret0;

 L23204: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23205;
  goto ret0;

 L23205: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 12728 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2007;  /* *avx2_gatherdiv8sf_4 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_46 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L30466;
    case PLUS:
      goto L12430;
    case MINUS:
      goto L12436;
    case VEC_MERGE:
      goto L12466;
    case MULT:
      goto L12504;
    case DIV:
      goto L12544;
    case SQRT:
      goto L12600;
    case SMAX:
      goto L12658;
    case SMIN:
      goto L12664;
    case VEC_CONCAT:
      goto L13148;
    case AND:
      goto L13391;
    case IOR:
      goto L13436;
    case XOR:
      goto L13442;
    case FMA:
      goto L13548;
    case FLOAT:
      goto L14029;
    case FLOAT_TRUNCATE:
      goto L14203;
    case VEC_SELECT:
      goto L14275;
    case VEC_DUPLICATE:
      goto L14450;
    case IF_THEN_ELSE:
      goto L19394;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L30446;
    default:
      goto ret0;
   }
 L30446: ATTRIBUTE_UNUSED_LABEL
  if (sse_comparison_operator (x1, V4SFmode))
    {
      operands[3] = x1;
      goto L13282;
    }
  goto ret0;

 L30466: ATTRIBUTE_UNUSED_LABEL
  return recog_43 (x0, insn, pnum_clobbers);

 L12430: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12431;
    }
  goto ret0;

 L12431: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12432;
    }
  goto ret0;

 L12432: ATTRIBUTE_UNUSED_LABEL
  if (
#line 779 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)))
    {
      return 1119;  /* *addv4sf3 */
    }
  goto ret0;

 L12436: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12437;
    }
  goto ret0;

 L12437: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12438;
    }
  goto ret0;

 L12438: ATTRIBUTE_UNUSED_LABEL
  if (
#line 779 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)))
    {
      return 1120;  /* *subv4sf3 */
    }
  goto ret0;

 L12466: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L30512;
  goto ret0;

 L30512: ATTRIBUTE_UNUSED_LABEL
  return recog_44 (x0, insn, pnum_clobbers);

 L12504: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12505;
    }
  goto ret0;

 L12505: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12506;
    }
  goto ret0;

 L12506: ATTRIBUTE_UNUSED_LABEL
  if (
#line 818 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)))
    {
      return 1130;  /* *mulv4sf3 */
    }
  goto ret0;

 L12544: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12545;
    }
  goto ret0;

 L12545: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12546;
    }
  goto ret0;

 L12546: ATTRIBUTE_UNUSED_LABEL
  if (
#line 875 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1136;  /* sse_divv4sf3 */
    }
  goto ret0;

 L12600: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12601;
    }
  goto ret0;

 L12601: ATTRIBUTE_UNUSED_LABEL
  if (
#line 953 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1145;  /* sse_sqrtv4sf2 */
    }
  goto ret0;

 L12658: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L30555;
  goto ret0;

 L30555: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12659;
    }
 L30556: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12707;
    }
  goto ret0;

 L12659: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12660;
    }
  x2 = XEXP (x1, 0);
  goto L30556;

 L12660: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1034 "../../gcc/config/i386/sse.md"
(TARGET_SSE && flag_finite_math_only
   && ix86_binary_operator_ok (SMAX, V4SFmode, operands)))
    {
      return 1155;  /* *smaxv4sf3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30556;

 L12707: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12708;
    }
  goto ret0;

 L12708: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1049 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !flag_finite_math_only))
    {
      return 1163;  /* *smaxv4sf3 */
    }
  goto ret0;

 L12664: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L30557;
  goto ret0;

 L30557: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12665;
    }
 L30558: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12713;
    }
  goto ret0;

 L12665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12666;
    }
  x2 = XEXP (x1, 0);
  goto L30558;

 L12666: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1034 "../../gcc/config/i386/sse.md"
(TARGET_SSE && flag_finite_math_only
   && ix86_binary_operator_ok (SMIN, V4SFmode, operands)))
    {
      return 1156;  /* *sminv4sf3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30558;

 L12713: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12714;
    }
  goto ret0;

 L12714: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1049 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !flag_finite_math_only))
    {
      return 1164;  /* *sminv4sf3 */
    }
  goto ret0;

 L13148: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SFmode)
    goto L30559;
  goto ret0;

 L30559: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case VEC_CONCAT:
      goto L13149;
    case FLOAT_TRUNCATE:
      goto L14209;
    case REG:
    case SUBREG:
      goto L30561;
    default:
      goto ret0;
   }
 L30561: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L14475;
    }
  goto ret0;

 L13149: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode)
    goto L30562;
  goto ret0;

 L30562: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L13150;
    case MINUS:
      goto L13191;
    default:
     break;
   }
  goto ret0;

 L13150: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13151;
  goto ret0;

 L13151: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4SFmode))
    {
      operands[1] = x5;
      goto L13152;
    }
  goto ret0;

 L13152: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13153;
  goto ret0;

 L13153: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13154;
  goto ret0;

 L13154: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13155;
  goto ret0;

 L13155: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L13156;
  goto ret0;

 L13156: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13157;
  goto ret0;

 L13157: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L13158;
  goto ret0;

 L13158: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == PLUS)
    goto L13159;
  goto ret0;

 L13159: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13160;
  goto ret0;

 L13160: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L13161;
  goto ret0;

 L13161: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13162;
  goto ret0;

 L13162: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L13163;
  goto ret0;

 L13163: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13164;
  goto ret0;

 L13164: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L13165;
  goto ret0;

 L13165: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13166;
  goto ret0;

 L13166: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L13167;
  goto ret0;

 L13167: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2SFmode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L13168;
  goto ret0;

 L13168: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == PLUS)
    goto L13169;
  goto ret0;

 L13169: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13170;
  goto ret0;

 L13170: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SFmode))
    {
      operands[2] = x5;
      goto L13171;
    }
  goto ret0;

 L13171: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13172;
  goto ret0;

 L13172: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13173;
  goto ret0;

 L13173: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13174;
  goto ret0;

 L13174: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L13175;
  goto ret0;

 L13175: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13176;
  goto ret0;

 L13176: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L13177;
  goto ret0;

 L13177: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == PLUS)
    goto L13178;
  goto ret0;

 L13178: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13179;
  goto ret0;

 L13179: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L13180;
  goto ret0;

 L13180: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13181;
  goto ret0;

 L13181: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L13182;
  goto ret0;

 L13182: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13183;
  goto ret0;

 L13183: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L13184;
  goto ret0;

 L13184: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13185;
  goto ret0;

 L13185: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 1288 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1191;  /* sse3_haddv4sf3 */
    }
  goto ret0;

 L13191: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13192;
  goto ret0;

 L13192: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4SFmode))
    {
      operands[1] = x5;
      goto L13193;
    }
  goto ret0;

 L13193: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13194;
  goto ret0;

 L13194: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13195;
  goto ret0;

 L13195: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13196;
  goto ret0;

 L13196: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L13197;
  goto ret0;

 L13197: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13198;
  goto ret0;

 L13198: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L13199;
  goto ret0;

 L13199: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == MINUS)
    goto L13200;
  goto ret0;

 L13200: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13201;
  goto ret0;

 L13201: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L13202;
  goto ret0;

 L13202: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13203;
  goto ret0;

 L13203: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L13204;
  goto ret0;

 L13204: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13205;
  goto ret0;

 L13205: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L13206;
  goto ret0;

 L13206: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13207;
  goto ret0;

 L13207: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L13208;
  goto ret0;

 L13208: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2SFmode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L13209;
  goto ret0;

 L13209: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == MINUS)
    goto L13210;
  goto ret0;

 L13210: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13211;
  goto ret0;

 L13211: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4SFmode))
    {
      operands[2] = x5;
      goto L13212;
    }
  goto ret0;

 L13212: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13213;
  goto ret0;

 L13213: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13214;
  goto ret0;

 L13214: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13215;
  goto ret0;

 L13215: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L13216;
  goto ret0;

 L13216: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13217;
  goto ret0;

 L13217: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L13218;
  goto ret0;

 L13218: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SFmode
      && GET_CODE (x3) == MINUS)
    goto L13219;
  goto ret0;

 L13219: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13220;
  goto ret0;

 L13220: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L13221;
  goto ret0;

 L13221: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13222;
  goto ret0;

 L13222: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L13223;
  goto ret0;

 L13223: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L13224;
  goto ret0;

 L13224: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L13225;
  goto ret0;

 L13225: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L13226;
  goto ret0;

 L13226: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 1288 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1192;  /* sse3_hsubv4sf3 */
    }
  goto ret0;

 L14209: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14210;
    }
  goto ret0;

 L14210: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L14211;
    }
  goto ret0;

 L14211: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2712 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1325;  /* *sse2_cvtpd2ps */
    }
  goto ret0;

 L14475: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L14476;
    }
  goto ret0;

 L14476: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3802 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1352;  /* *vec_concatv4sf */
    }
  goto ret0;

 L13391: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L30564;
  goto ret0;

 L30564: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L13392;
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13431;
    }
  goto ret0;

 L13392: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13393;
    }
  goto ret0;

 L13393: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13394;
    }
  goto ret0;

 L13394: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1560 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1214;  /* sse_andnotv4sf3 */
    }
  goto ret0;

 L13431: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13432;
    }
  goto ret0;

 L13432: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1600 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V4SFmode, operands)))
    {
      return 1220;  /* *andv4sf3 */
    }
  goto ret0;

 L13436: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13437;
    }
  goto ret0;

 L13437: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13438;
    }
  goto ret0;

 L13438: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1600 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V4SFmode, operands)))
    {
      return 1221;  /* *iorv4sf3 */
    }
  goto ret0;

 L13442: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13443;
    }
  goto ret0;

 L13443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13444;
    }
  goto ret0;

 L13444: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1600 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V4SFmode, operands)))
    {
      return 1222;  /* *xorv4sf3 */
    }
  goto ret0;

 L13548: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L30567;
  goto ret0;

 L30567: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13641;
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13549;
    }
  goto ret0;

 L13641: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13642;
    }
  goto ret0;

 L13642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13643;
    }
  goto ret0;

 L13643: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V4SFmode)
    goto L30569;
  goto ret0;

 L30569: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13694;
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L13644;
    }
  goto ret0;

 L13694: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[3] = x3;
      goto L13695;
    }
  goto ret0;

 L13695: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1831 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1257;  /* *fma_fnmsub_v4sf */
    }
  goto ret0;

 L13644: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1812 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1251;  /* *fma_fnmadd_v4sf */
    }
  goto ret0;

 L13549: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13550;
    }
  goto ret0;

 L13550: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V4SFmode)
    goto L30571;
  goto ret0;

 L30571: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13595;
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L13551;
    }
  goto ret0;

 L13595: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[3] = x3;
      goto L13596;
    }
  goto ret0;

 L13596: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1794 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1245;  /* *fma_fmsub_v4sf */
    }
  goto ret0;

 L13551: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1776 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1239;  /* *fma_fmadd_v4sf */
    }
  goto ret0;

 L14029: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L14030;
    }
  goto ret0;

 L14030: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2238 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1297;  /* floatv4siv4sf2 */
    }
  goto ret0;

 L14203: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L14204;
    }
  goto ret0;

 L14204: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2691 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1324;  /* avx_cvtpd2ps256 */
    }
  goto ret0;

 L14275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V8SFmode:
      goto L30572;
    case V4SFmode:
      goto L30573;
    default:
      break;
    }
  goto ret0;

 L30572: ATTRIBUTE_UNUSED_LABEL
  return recog_45 (x0, insn, pnum_clobbers);

 L30573: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L20485;
    }
  goto ret0;

 L20485: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL)
    goto L30591;
  goto ret0;

 L30591: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1
      && avx_vbroadcast_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L20486;
    }
 L30592: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1)
    {
      operands[2] = x2;
      goto L20514;
    }
  goto ret0;

 L20486: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L20487;
    }
  goto L30592;

 L20487: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11894 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1864;  /* *avx_vperm_broadcast_v4sf */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L30592;

 L20514: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L20515;
    }
  goto ret0;

 L20515: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12006 "../../gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vpermilp_parallel (operands[2], V4SFmode)))
    {
      return 1868;  /* *avx_vpermilpv4sf */
    }
  goto ret0;

 L14450: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SFmode)
    goto L30593;
  goto ret0;

 L30593: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14451;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L14458;
    }
  goto ret0;

 L14451: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14452;
    }
  goto ret0;

 L14452: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14453;
  goto ret0;

 L14453: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 3734 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1348;  /* avx2_vec_dupv4sf */
    }
  goto ret0;

 L14458: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3744 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1349;  /* vec_dupv4sf */
    }
  goto ret0;

 L19394: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L19395;
    }
  goto ret0;

 L19395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L19396;
    }
  goto ret0;

 L19396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L19397;
    }
  goto ret0;

 L19397: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1757;  /* xop_pcmov_v4sf */
    }
  goto ret0;

 L13282: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L13283;
    }
  goto ret0;

 L13283: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L13284;
    }
  goto ret0;

 L13284: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1430 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE))
    {
      return 1200;  /* *sse_maskcmpv4sf3_comm */
    }
 L13308: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1446 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1204;  /* sse_maskcmpv4sf3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_47 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30651;
    case 2:
      goto L30652;
    case 3:
      goto L30654;
    case 4:
      goto L30659;
    default:
      break;
    }
  goto ret0;

 L30651: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 92L:
      goto L12286;
    case 115L:
      goto L20113;
    default:
      break;
    }
  goto ret0;

 L12286: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12287;
    }
  goto ret0;

 L12287: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 589 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1093;  /* avx_loadupd256 */
    }
  goto ret0;

 L20113: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L20114;
    }
  goto ret0;

 L20114: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11454 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1804;  /* xop_frczv4df2 */
    }
  goto ret0;

 L30652: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 46L:
      goto L12786;
    case 47L:
      goto L12810;
    case 80L:
      goto L18930;
    case 132L:
      goto L20378;
    case 124L:
      goto L20545;
    case 40L:
      goto L20804;
    default:
      break;
    }
  goto ret0;

 L12786: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12787;
    }
  goto ret0;

 L12787: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12788;
    }
  goto ret0;

 L12788: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1087 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1175;  /* *ieee_sminv4df3 */
    }
  goto ret0;

 L12810: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12811;
    }
  goto ret0;

 L12811: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12812;
    }
  goto ret0;

 L12812: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1102 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1179;  /* *ieee_smaxv4df3 */
    }
  goto ret0;

 L18930: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L18931;
    }
  goto ret0;

 L18931: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L18932;
    }
  goto ret0;

 L18932: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9884 "../../gcc/config/i386/sse.md"
(TARGET_ROUND) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1724;  /* avx_roundpd256 */
    }
  goto ret0;

 L20378: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L20379;
    }
  goto ret0;

 L20379: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L20380;
    }
  goto ret0;

 L20380: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11748 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1845;  /* avx2_permv4df */
    }
  goto ret0;

 L20545: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L20546;
    }
  goto ret0;

 L20546: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L20547;
    }
  goto ret0;

 L20547: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12025 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1873;  /* avx_vpermilvarv4df3 */
    }
  goto ret0;

 L20804: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L20805;
    }
  goto ret0;

 L20805: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L20806;
    }
  goto ret0;

 L20806: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12312 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1898;  /* avx_maskloadpd256 */
    }
  goto ret0;

 L30654: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 123L:
      goto L13244;
    case 111L:
      goto L13740;
    case 104L:
      goto L18567;
    case 126L:
      goto L20571;
    default:
      break;
    }
  goto ret0;

 L13244: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L13245;
    }
  goto ret0;

 L13245: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13246;
    }
  goto ret0;

 L13246: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_31_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L13247;
    }
  goto ret0;

 L13247: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1401 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1195;  /* avx_cmpv4df3 */
    }
  goto ret0;

 L13740: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L13741;
    }
  goto ret0;

 L13741: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13742;
    }
  goto ret0;

 L13742: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == V4DFmode)
    goto L30666;
  goto ret0;

 L30666: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13773;
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[3] = x2;
      goto L13743;
    }
  goto ret0;

 L13773: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[3] = x3;
      goto L13774;
    }
  goto ret0;

 L13774: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1888 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1267;  /* *fma_fmsubadd_v4df */
    }
  goto ret0;

 L13743: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1869 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1263;  /* *fma_fmaddsub_v4df */
    }
  goto ret0;

 L18567: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L18568;
    }
  goto ret0;

 L18568: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L18569;
    }
  goto ret0;

 L18569: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18570;
    }
  goto ret0;

 L18570: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9499 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1677;  /* avx_dppd256 */
    }
  goto ret0;

 L20571: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L20572;
    }
  goto ret0;

 L20572: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L20573;
    }
  goto ret0;

 L20573: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L20574;
    }
  goto ret0;

 L20574: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12076 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1877;  /* *avx_vperm2f128v4df_full */
    }
  goto ret0;

 L30659: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 125L:
      goto L20252;
    case 135L:
      goto L21223;
    default:
      break;
    }
  goto ret0;

 L20252: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L20253;
    }
  goto ret0;

 L20253: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L20254;
    }
  goto ret0;

 L20254: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[3] = x2;
      goto L20255;
    }
  goto ret0;

 L20255: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (const_0_to_3_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L20256;
    }
  goto ret0;

 L20256: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11558 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1825;  /* xop_vpermil2v4df3 */
    }
  goto ret0;

 L21223: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L21224;
    }
  if (GET_CODE (x2) == PC)
    goto L21688;
  goto ret0;

 L21224: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, DFmode))
    {
      operands[7] = x2;
      goto L21225;
    }
  goto ret0;

 L21225: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30667;
    case DImode:
      goto L30668;
    default:
      break;
    }
  goto ret0;

 L30667: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21226;
  goto ret0;

 L21226: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L21227;
    }
  goto ret0;

 L21227: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30669;
    case V4DImode:
      goto L30670;
    default:
      break;
    }
  goto ret0;

 L30669: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21228;
    }
  goto ret0;

 L21228: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21229;
    }
  goto ret0;

 L21229: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21230;
  goto ret0;

 L21230: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21231;
  goto ret0;

 L21231: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DFmode))
    {
      operands[5] = x2;
      goto L21232;
    }
  goto ret0;

 L21232: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1942;  /* *avx2_gathersiv4df */
    }
  goto ret0;

 L30670: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[4] = x4;
      goto L22156;
    }
  goto ret0;

 L22156: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22157;
    }
  goto ret0;

 L22157: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22158;
  goto ret0;

 L22158: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22159;
  goto ret0;

 L22159: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DFmode))
    {
      operands[5] = x2;
      goto L22160;
    }
  goto ret0;

 L22160: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1974;  /* *avx2_gatherdiv4df */
    }
  goto ret0;

 L30668: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21255;
  goto ret0;

 L21255: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L21256;
    }
  goto ret0;

 L21256: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30671;
    case V4DImode:
      goto L30672;
    default:
      break;
    }
  goto ret0;

 L30671: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21257;
    }
  goto ret0;

 L21257: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21258;
    }
  goto ret0;

 L21258: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21259;
  goto ret0;

 L21259: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21260;
  goto ret0;

 L21260: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DFmode))
    {
      operands[5] = x2;
      goto L21261;
    }
  goto ret0;

 L21261: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1943;  /* *avx2_gathersiv4df */
    }
  goto ret0;

 L30672: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[4] = x4;
      goto L22185;
    }
  goto ret0;

 L22185: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22186;
    }
  goto ret0;

 L22186: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22187;
  goto ret0;

 L22187: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22188;
  goto ret0;

 L22188: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DFmode))
    {
      operands[5] = x2;
      goto L22189;
    }
  goto ret0;

 L22189: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1975;  /* *avx2_gatherdiv4df */
    }
  goto ret0;

 L21688: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, DFmode))
    {
      operands[6] = x2;
      goto L21689;
    }
  goto ret0;

 L21689: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30673;
    case DImode:
      goto L30674;
    default:
      break;
    }
  goto ret0;

 L30673: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21690;
  goto ret0;

 L21690: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L21691;
    }
  goto ret0;

 L21691: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30675;
    case V4DImode:
      goto L30676;
    default:
      break;
    }
  goto ret0;

 L30675: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21692;
    }
  goto ret0;

 L21692: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21693;
    }
  goto ret0;

 L21693: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21694;
  goto ret0;

 L21694: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21695;
  goto ret0;

 L21695: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DFmode))
    {
      operands[4] = x2;
      goto L21696;
    }
  goto ret0;

 L21696: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1958;  /* *avx2_gathersiv4df_2 */
    }
  goto ret0;

 L30676: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[3] = x4;
      goto L22620;
    }
  goto ret0;

 L22620: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22621;
    }
  goto ret0;

 L22621: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22622;
  goto ret0;

 L22622: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22623;
  goto ret0;

 L22623: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DFmode))
    {
      operands[4] = x2;
      goto L22624;
    }
  goto ret0;

 L22624: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1990;  /* *avx2_gatherdiv4df_2 */
    }
  goto ret0;

 L30674: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21719;
  goto ret0;

 L21719: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L21720;
    }
  goto ret0;

 L21720: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30677;
    case V4DImode:
      goto L30678;
    default:
      break;
    }
  goto ret0;

 L30677: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21721;
    }
  goto ret0;

 L21721: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21722;
    }
  goto ret0;

 L21722: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21723;
  goto ret0;

 L21723: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21724;
  goto ret0;

 L21724: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DFmode))
    {
      operands[4] = x2;
      goto L21725;
    }
  goto ret0;

 L21725: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1959;  /* *avx2_gathersiv4df_2 */
    }
  goto ret0;

 L30678: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4DImode))
    {
      operands[3] = x4;
      goto L22649;
    }
  goto ret0;

 L22649: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22650;
    }
  goto ret0;

 L22650: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22651;
  goto ret0;

 L22651: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22652;
  goto ret0;

 L22652: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V4DFmode))
    {
      operands[4] = x2;
      goto L22653;
    }
  goto ret0;

 L22653: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1991;  /* *avx2_gatherdiv4df_2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_48 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L30637;
    case PLUS:
      goto L12442;
    case MINUS:
      goto L12448;
    case MULT:
      goto L12510;
    case DIV:
      goto L12550;
    case SQRT:
      goto L12605;
    case SMAX:
      goto L12670;
    case SMIN:
      goto L12676;
    case VEC_MERGE:
      goto L12822;
    case VEC_CONCAT:
      goto L12862;
    case AND:
      goto L13398;
    case IOR:
      goto L13454;
    case XOR:
      goto L13460;
    case FMA:
      goto L13569;
    case FLOAT:
      goto L14123;
    case FLOAT_EXTEND:
      goto L14215;
    case VEC_SELECT:
      goto L14661;
    case IF_THEN_ELSE:
      goto L19401;
    case VEC_DUPLICATE:
      goto L20407;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L30617;
    default:
      goto ret0;
   }
 L30617: ATTRIBUTE_UNUSED_LABEL
  if (sse_comparison_operator (x1, V4DFmode))
    {
      operands[3] = x1;
      goto L13288;
    }
  goto ret0;

 L30637: ATTRIBUTE_UNUSED_LABEL
  return recog_47 (x0, insn, pnum_clobbers);

 L12442: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12443;
    }
  goto ret0;

 L12443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12444;
    }
  goto ret0;

 L12444: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)) && (TARGET_AVX)))
    {
      return 1121;  /* *addv4df3 */
    }
  goto ret0;

 L12448: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12449;
    }
  goto ret0;

 L12449: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12450;
    }
  goto ret0;

 L12450: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)) && (TARGET_AVX)))
    {
      return 1122;  /* *subv4df3 */
    }
  goto ret0;

 L12510: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12511;
    }
  goto ret0;

 L12511: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12512;
    }
  goto ret0;

 L12512: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 818 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1131;  /* *mulv4df3 */
    }
  goto ret0;

 L12550: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12551;
    }
  goto ret0;

 L12551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12552;
    }
  goto ret0;

 L12552: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 875 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1137;  /* avx_divv4df3 */
    }
  goto ret0;

 L12605: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12606;
    }
  goto ret0;

 L12606: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 953 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1146;  /* avx_sqrtv4df2 */
    }
  goto ret0;

 L12670: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DFmode)
    goto L30679;
  goto ret0;

 L30679: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12671;
    }
 L30680: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12719;
    }
  goto ret0;

 L12671: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12672;
    }
  x2 = XEXP (x1, 0);
  goto L30680;

 L12672: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && flag_finite_math_only
   && ix86_binary_operator_ok (SMAX, V4DFmode, operands)) && (TARGET_AVX)))
    {
      return 1157;  /* *smaxv4df3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30680;

 L12719: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12720;
    }
  goto ret0;

 L12720: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1049 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !flag_finite_math_only) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1165;  /* *smaxv4df3 */
    }
  goto ret0;

 L12676: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DFmode)
    goto L30681;
  goto ret0;

 L30681: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12677;
    }
 L30682: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12725;
    }
  goto ret0;

 L12677: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12678;
    }
  x2 = XEXP (x1, 0);
  goto L30682;

 L12678: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && flag_finite_math_only
   && ix86_binary_operator_ok (SMIN, V4DFmode, operands)) && (TARGET_AVX)))
    {
      return 1158;  /* *sminv4df3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30682;

 L12725: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12726;
    }
  goto ret0;

 L12726: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1049 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !flag_finite_math_only) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1166;  /* *sminv4df3 */
    }
  goto ret0;

 L12822: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DFmode)
    goto L30683;
  goto ret0;

 L30683: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PLUS)
    goto L12823;
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L18512;
    }
  goto ret0;

 L12823: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L12824;
    }
  goto ret0;

 L12824: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[2] = x3;
      goto L12825;
    }
  goto ret0;

 L12825: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4DFmode
      && GET_CODE (x2) == MINUS)
    goto L12826;
  goto ret0;

 L12826: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L12827;
  goto ret0;

 L12827: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L12828;
  goto ret0;

 L12828: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (10)]
      && 
#line 1119 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1181;  /* avx_addsubv4df3 */
    }
  goto ret0;

 L18512: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L18513;
    }
  goto ret0;

 L18513: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18514;
    }
  goto ret0;

 L18514: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9461 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1669;  /* avx_blendpd256 */
    }
  goto ret0;

 L12862: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L30685;
  goto ret0;

 L30685: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case VEC_CONCAT:
      goto L12863;
    case VEC_SELECT:
      goto L20653;
    case REG:
    case SUBREG:
    case MEM:
      goto L30686;
    default:
      goto L30687;
   }
 L30686: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L20480;
    }
 L30687: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L20634;
    }
 L30689: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L20988;
    }
  goto ret0;

 L12863: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode)
    goto L30690;
  goto ret0;

 L30690: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L12864;
    case MINUS:
      goto L12905;
    default:
     break;
   }
  goto ret0;

 L12864: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12865;
  goto ret0;

 L12865: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4DFmode))
    {
      operands[1] = x5;
      goto L12866;
    }
  goto ret0;

 L12866: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12867;
  goto ret0;

 L12867: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12868;
  goto ret0;

 L12868: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12869;
  goto ret0;

 L12869: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L12870;
  goto ret0;

 L12870: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12871;
  goto ret0;

 L12871: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12872;
  goto ret0;

 L12872: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == PLUS)
    goto L12873;
  goto ret0;

 L12873: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12874;
  goto ret0;

 L12874: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4DFmode))
    {
      operands[2] = x5;
      goto L12875;
    }
  goto ret0;

 L12875: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12876;
  goto ret0;

 L12876: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12877;
  goto ret0;

 L12877: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12878;
  goto ret0;

 L12878: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L12879;
  goto ret0;

 L12879: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12880;
  goto ret0;

 L12880: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12881;
  goto ret0;

 L12881: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DFmode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L12882;
  goto ret0;

 L12882: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == PLUS)
    goto L12883;
  goto ret0;

 L12883: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12884;
  goto ret0;

 L12884: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L12885;
  goto ret0;

 L12885: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12886;
  goto ret0;

 L12886: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L12887;
  goto ret0;

 L12887: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12888;
  goto ret0;

 L12888: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L12889;
  goto ret0;

 L12889: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12890;
  goto ret0;

 L12890: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L12891;
  goto ret0;

 L12891: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == PLUS)
    goto L12892;
  goto ret0;

 L12892: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12893;
  goto ret0;

 L12893: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L12894;
  goto ret0;

 L12894: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12895;
  goto ret0;

 L12895: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L12896;
  goto ret0;

 L12896: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12897;
  goto ret0;

 L12897: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L12898;
  goto ret0;

 L12898: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12899;
  goto ret0;

 L12899: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 1196 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1185;  /* avx_haddv4df3 */
    }
  goto ret0;

 L12905: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12906;
  goto ret0;

 L12906: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, V4DFmode))
    {
      operands[1] = x5;
      goto L12907;
    }
  goto ret0;

 L12907: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12908;
  goto ret0;

 L12908: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12909;
  goto ret0;

 L12909: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12910;
  goto ret0;

 L12910: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L12911;
  goto ret0;

 L12911: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12912;
  goto ret0;

 L12912: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12913;
  goto ret0;

 L12913: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == MINUS)
    goto L12914;
  goto ret0;

 L12914: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12915;
  goto ret0;

 L12915: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, V4DFmode))
    {
      operands[2] = x5;
      goto L12916;
    }
  goto ret0;

 L12916: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12917;
  goto ret0;

 L12917: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12918;
  goto ret0;

 L12918: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12919;
  goto ret0;

 L12919: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L12920;
  goto ret0;

 L12920: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12921;
  goto ret0;

 L12921: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12922;
  goto ret0;

 L12922: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DFmode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L12923;
  goto ret0;

 L12923: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == MINUS)
    goto L12924;
  goto ret0;

 L12924: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12925;
  goto ret0;

 L12925: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L12926;
  goto ret0;

 L12926: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12927;
  goto ret0;

 L12927: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L12928;
  goto ret0;

 L12928: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12929;
  goto ret0;

 L12929: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L12930;
  goto ret0;

 L12930: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12931;
  goto ret0;

 L12931: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L12932;
  goto ret0;

 L12932: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == MINUS)
    goto L12933;
  goto ret0;

 L12933: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12934;
  goto ret0;

 L12934: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L12935;
  goto ret0;

 L12935: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12936;
  goto ret0;

 L12936: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L12937;
  goto ret0;

 L12937: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DFmode
      && GET_CODE (x4) == VEC_SELECT)
    goto L12938;
  goto ret0;

 L12938: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[2]))
    goto L12939;
  goto ret0;

 L12939: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == PARALLEL
      && XVECLEN (x5, 0) == 1)
    goto L12940;
  goto ret0;

 L12940: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 1196 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1186;  /* avx_hsubv4df3 */
    }
  goto ret0;

 L20653: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L20654;
    }
  goto ret0;

 L20654: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L20655;
  goto ret0;

 L20655: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L20656;
  goto ret0;

 L20656: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L20657;
  goto ret0;

 L20657: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L20658;
    }
  goto ret0;

 L20658: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12186 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1886;  /* vec_set_hi_v4df */
    }
  goto ret0;

 L20480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 11874 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1863;  /* avx_vbroadcastf128_v4df */
    }
  x2 = XEXP (x1, 0);
  goto L30687;

 L20634: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L20635;
  x2 = XEXP (x1, 0);
  goto L30689;

 L20635: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L20636;
    }
  x2 = XEXP (x1, 0);
  goto L30689;

 L20636: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L20637;
  x2 = XEXP (x1, 0);
  goto L30689;

 L20637: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L20638;
  x2 = XEXP (x1, 0);
  goto L30689;

 L20638: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 12171 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1884;  /* vec_set_lo_v4df */
    }
  x2 = XEXP (x1, 0);
  goto L30689;

 L20988: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L20989;
    }
  goto ret0;

 L20989: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12438 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1929;  /* avx_vec_concatv4df */
    }
  goto ret0;

 L13398: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DFmode)
    goto L30692;
  goto ret0;

 L30692: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L13399;
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L13449;
    }
  goto ret0;

 L13399: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L13400;
    }
  goto ret0;

 L13400: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13401;
    }
  goto ret0;

 L13401: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1560 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1215;  /* avx_andnotv4df3 */
    }
  goto ret0;

 L13449: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13450;
    }
  goto ret0;

 L13450: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (AND, V4DFmode, operands)) && (TARGET_AVX)))
    {
      return 1223;  /* *andv4df3 */
    }
  goto ret0;

 L13454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L13455;
    }
  goto ret0;

 L13455: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13456;
    }
  goto ret0;

 L13456: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (IOR, V4DFmode, operands)) && (TARGET_AVX)))
    {
      return 1224;  /* *iorv4df3 */
    }
  goto ret0;

 L13460: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L13461;
    }
  goto ret0;

 L13461: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13462;
    }
  goto ret0;

 L13462: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (XOR, V4DFmode, operands)) && (TARGET_AVX)))
    {
      return 1225;  /* *xorv4df3 */
    }
  goto ret0;

 L13569: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DFmode)
    goto L30695;
  goto ret0;

 L30695: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13665;
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L13570;
    }
  goto ret0;

 L13665: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L13666;
    }
  goto ret0;

 L13666: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13667;
    }
  goto ret0;

 L13667: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V4DFmode)
    goto L30697;
  goto ret0;

 L30697: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13721;
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[3] = x2;
      goto L13668;
    }
  goto ret0;

 L13721: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[3] = x3;
      goto L13722;
    }
  goto ret0;

 L13722: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1831 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1260;  /* *fma_fnmsub_v4df */
    }
  goto ret0;

 L13668: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1812 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1254;  /* *fma_fnmadd_v4df */
    }
  goto ret0;

 L13570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13571;
    }
  goto ret0;

 L13571: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V4DFmode)
    goto L30699;
  goto ret0;

 L30699: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13619;
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[3] = x2;
      goto L13572;
    }
  goto ret0;

 L13619: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[3] = x3;
      goto L13620;
    }
  goto ret0;

 L13620: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1794 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1248;  /* *fma_fmsub_v4df */
    }
  goto ret0;

 L13572: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1776 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1242;  /* *fma_fmadd_v4df */
    }
  goto ret0;

 L14123: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode)
    goto L30701;
  goto ret0;

 L30701: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14129;
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L14124;
    }
  goto ret0;

 L14129: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SImode))
    {
      operands[1] = x3;
      goto L14130;
    }
  goto ret0;

 L14130: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L14131;
  goto ret0;

 L14131: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14132;
  goto ret0;

 L14132: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14133;
  goto ret0;

 L14133: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14134;
  goto ret0;

 L14134: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 2509 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1314;  /* avx_cvtdq2pd256_2 */
    }
  goto ret0;

 L14124: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2496 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1313;  /* floatv4siv4df2 */
    }
  goto ret0;

 L14215: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L30703;
  goto ret0;

 L30703: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14221;
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14216;
    }
  goto ret0;

 L14221: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L14222;
    }
  goto ret0;

 L14222: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L14223;
  goto ret0;

 L14223: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14224;
  goto ret0;

 L14224: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14225;
  goto ret0;

 L14225: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14226;
  goto ret0;

 L14226: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 2744 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1327;  /* *avx_cvtps2pd256_2 */
    }
  goto ret0;

 L14216: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2731 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1326;  /* avx_cvtps2pd256 */
    }
  goto ret0;

 L14661: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V8DFmode:
      goto L30704;
    case V4DFmode:
      goto L30705;
    default:
      break;
    }
  goto ret0;

 L30704: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L14662;
  goto ret0;

 L14662: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4DFmode)
    goto L30706;
  goto ret0;

 L30706: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L14663;
    }
 L30707: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L14683;
    }
 L30708: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L14703;
    }
  goto ret0;

 L14663: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[2] = x3;
      goto L14664;
    }
  x3 = XEXP (x2, 0);
  goto L30707;

 L14664: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14665;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30707;

 L14665: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14666;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30707;

 L14666: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14667;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30707;

 L14667: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L14668;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30707;

 L14668: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 4240 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1372;  /* avx_unpckhpd256 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30707;

 L14683: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[2] = x3;
      goto L14684;
    }
  x3 = XEXP (x2, 0);
  goto L30708;

 L14684: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14685;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30708;

 L14685: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14686;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30708;

 L14686: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14687;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30708;

 L14687: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14688;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30708;

 L14688: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)]
      && 
#line 4340 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1374;  /* *avx_unpcklpd256 */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L30708;

 L14703: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[2] = x3;
      goto L14704;
    }
  goto ret0;

 L14704: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL)
    goto L30709;
  goto ret0;

 L30709: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4)
    goto L14705;
 L30710: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1)
    {
      operands[3] = x2;
      goto L20600;
    }
  goto ret0;

 L14705: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_1_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L14706;
    }
  goto L30710;

 L14706: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_4_to_5_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L14707;
    }
  goto L30710;

 L14707: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_2_to_3_operand (x3, VOIDmode))
    {
      operands[5] = x3;
      goto L14708;
    }
  goto L30710;

 L14708: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (const_6_to_7_operand (x3, VOIDmode))
    {
      operands[6] = x3;
      goto L14709;
    }
  goto L30710;

 L14709: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4469 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1376;  /* avx_shufpd256_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L30710;

 L20600: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L20601;
    }
  goto ret0;

 L20601: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12092 "../../gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vperm2f128_parallel (operands[3], V4DFmode)))
    {
      return 1880;  /* *avx_vperm2f128v4df_nozero */
    }
  goto ret0;

 L30705: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L20499;
    }
  goto ret0;

 L20499: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL)
    goto L30711;
  goto ret0;

 L30711: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1
      && avx_vbroadcast_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L20500;
    }
 L30712: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) >= 1)
    {
      operands[2] = x2;
      goto L20521;
    }
  goto ret0;

 L20500: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L20501;
    }
  goto L30712;

 L20501: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11922 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1866;  /* *avx_vperm_broadcast_v4df */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L30712;

 L20521: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L20522;
    }
  goto ret0;

 L20522: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12006 "../../gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vpermilp_parallel (operands[2], V4DFmode)) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1869;  /* *avx_vpermilpv4df */
    }
  goto ret0;

 L19401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[3] = x2;
      goto L19402;
    }
  goto ret0;

 L19402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L19403;
    }
  goto ret0;

 L19403: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L19404;
    }
  goto ret0;

 L19404: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 118 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1758;  /* xop_pcmov_v4df256 */
    }
  goto ret0;

 L20407: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L30713;
  goto ret0;

 L30713: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L20408;
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L20430;
    }
  goto ret0;

 L20408: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L20409;
    }
  goto ret0;

 L20409: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L20410;
  goto ret0;

 L20410: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11823 "../../gcc/config/i386/sse.md"
(TARGET_AVX2))
    {
      return 1849;  /* avx2_vec_dupv4df */
    }
  goto ret0;

 L20430: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11837 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1853;  /* vec_dupv4df */
    }
  goto ret0;

 L13288: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L13289;
    }
  goto ret0;

 L13289: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L13290;
    }
  goto ret0;

 L13290: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1430 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1201;  /* *avx_maskcmpv4df3_comm */
    }
 L13314: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1446 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1205;  /* avx_maskcmpv4df3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_49 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30777;
    case 2:
      goto L30778;
    case 3:
      goto L30780;
    case 4:
      goto L30785;
    default:
      break;
    }
  goto ret0;

 L30777: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 92L:
      goto L12291;
    case 115L:
      goto L20103;
    default:
      break;
    }
  goto ret0;

 L12291: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12292;
    }
  goto ret0;

 L12292: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 589 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1094;  /* sse2_loadupd */
    }
  goto ret0;

 L20103: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L20104;
    }
  goto ret0;

 L20104: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11454 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1802;  /* xop_frczv2df2 */
    }
  goto ret0;

 L30778: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 46L:
      goto L12792;
    case 47L:
      goto L12816;
    case 80L:
      goto L18936;
    case 124L:
      goto L20551;
    case 40L:
      goto L20792;
    default:
      break;
    }
  goto ret0;

 L12792: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12793;
    }
  goto ret0;

 L12793: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12794;
    }
  goto ret0;

 L12794: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1087 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1176;  /* *ieee_sminv2df3 */
    }
  goto ret0;

 L12816: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12817;
    }
  goto ret0;

 L12817: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12818;
    }
  goto ret0;

 L12818: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1102 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1180;  /* *ieee_smaxv2df3 */
    }
  goto ret0;

 L18936: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L18937;
    }
  goto ret0;

 L18937: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L18938;
    }
  goto ret0;

 L18938: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9884 "../../gcc/config/i386/sse.md"
(TARGET_ROUND) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1725;  /* sse4_1_roundpd */
    }
  goto ret0;

 L20551: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L20552;
    }
  goto ret0;

 L20552: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20553;
    }
  goto ret0;

 L20553: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12025 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1874;  /* avx_vpermilvarv2df3 */
    }
  goto ret0;

 L20792: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20793;
    }
  goto ret0;

 L20793: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L20794;
    }
  goto ret0;

 L20794: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12312 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1896;  /* avx_maskloadpd */
    }
  goto ret0;

 L30780: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 123L:
      goto L13251;
    case 111L:
      goto L13747;
    case 104L:
      goto L18574;
    default:
      break;
    }
  goto ret0;

 L13251: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L13252;
    }
  goto ret0;

 L13252: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13253;
    }
  goto ret0;

 L13253: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_31_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L13254;
    }
  goto ret0;

 L13254: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1401 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1196;  /* avx_cmpv2df3 */
    }
  goto ret0;

 L13747: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L13748;
    }
  goto ret0;

 L13748: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13749;
    }
  goto ret0;

 L13749: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == V2DFmode)
    goto L30790;
  goto ret0;

 L30790: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13781;
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L13750;
    }
  goto ret0;

 L13781: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[3] = x3;
      goto L13782;
    }
  goto ret0;

 L13782: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1888 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1268;  /* *fma_fmsubadd_v2df */
    }
  goto ret0;

 L13750: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1869 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1264;  /* *fma_fmaddsub_v2df */
    }
  goto ret0;

 L18574: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L18575;
    }
  goto ret0;

 L18575: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L18576;
    }
  goto ret0;

 L18576: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18577;
    }
  goto ret0;

 L18577: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9499 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1678;  /* sse4_1_dppd */
    }
  goto ret0;

 L30785: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 125L:
      goto L20260;
    case 135L:
      goto L21107;
    default:
      break;
    }
  goto ret0;

 L20260: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L20261;
    }
  goto ret0;

 L20261: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L20262;
    }
  goto ret0;

 L20262: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[3] = x2;
      goto L20263;
    }
  goto ret0;

 L20263: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (const_0_to_3_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L20264;
    }
  goto ret0;

 L20264: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11558 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1826;  /* xop_vpermil2v2df3 */
    }
  goto ret0;

 L21107: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L21108;
    }
  if (GET_CODE (x2) == PC)
    goto L21572;
  goto ret0;

 L21108: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, DFmode))
    {
      operands[7] = x2;
      goto L21109;
    }
  goto ret0;

 L21109: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30791;
    case DImode:
      goto L30792;
    default:
      break;
    }
  goto ret0;

 L30791: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21110;
  goto ret0;

 L21110: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L21111;
    }
  goto ret0;

 L21111: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30793;
    case V2DImode:
      goto L30794;
    default:
      break;
    }
  goto ret0;

 L30793: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21112;
    }
  goto ret0;

 L21112: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21113;
    }
  goto ret0;

 L21113: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21114;
  goto ret0;

 L21114: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21115;
  goto ret0;

 L21115: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DFmode))
    {
      operands[5] = x2;
      goto L21116;
    }
  goto ret0;

 L21116: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1938;  /* *avx2_gathersiv2df */
    }
  goto ret0;

 L30794: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[4] = x4;
      goto L22040;
    }
  goto ret0;

 L22040: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22041;
    }
  goto ret0;

 L22041: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22042;
  goto ret0;

 L22042: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22043;
  goto ret0;

 L22043: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DFmode))
    {
      operands[5] = x2;
      goto L22044;
    }
  goto ret0;

 L22044: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1970;  /* *avx2_gatherdiv2df */
    }
  goto ret0;

 L30792: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21139;
  goto ret0;

 L21139: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L21140;
    }
  goto ret0;

 L21140: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30795;
    case V2DImode:
      goto L30796;
    default:
      break;
    }
  goto ret0;

 L30795: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L21141;
    }
  goto ret0;

 L21141: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L21142;
    }
  goto ret0;

 L21142: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21143;
  goto ret0;

 L21143: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21144;
  goto ret0;

 L21144: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DFmode))
    {
      operands[5] = x2;
      goto L21145;
    }
  goto ret0;

 L21145: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1939;  /* *avx2_gathersiv2df */
    }
  goto ret0;

 L30796: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[4] = x4;
      goto L22069;
    }
  goto ret0;

 L22069: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L22070;
    }
  goto ret0;

 L22070: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22071;
  goto ret0;

 L22071: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22072;
  goto ret0;

 L22072: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DFmode))
    {
      operands[5] = x2;
      goto L22073;
    }
  goto ret0;

 L22073: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1971;  /* *avx2_gatherdiv2df */
    }
  goto ret0;

 L21572: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (vsib_mem_operator (x2, DFmode))
    {
      operands[6] = x2;
      goto L21573;
    }
  goto ret0;

 L21573: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L30797;
    case DImode:
      goto L30798;
    default:
      break;
    }
  goto ret0;

 L30797: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21574;
  goto ret0;

 L21574: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L21575;
    }
  goto ret0;

 L21575: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30799;
    case V2DImode:
      goto L30800;
    default:
      break;
    }
  goto ret0;

 L30799: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21576;
    }
  goto ret0;

 L21576: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21577;
    }
  goto ret0;

 L21577: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21578;
  goto ret0;

 L21578: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21579;
  goto ret0;

 L21579: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L21580;
    }
  goto ret0;

 L21580: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1954;  /* *avx2_gathersiv2df_2 */
    }
  goto ret0;

 L30800: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[3] = x4;
      goto L22504;
    }
  goto ret0;

 L22504: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22505;
    }
  goto ret0;

 L22505: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22506;
  goto ret0;

 L22506: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22507;
  goto ret0;

 L22507: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L22508;
    }
  goto ret0;

 L22508: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1986;  /* *avx2_gatherdiv2df_2 */
    }
  goto ret0;

 L30798: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 136)
    goto L21603;
  goto ret0;

 L21603: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (vsib_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L21604;
    }
  goto ret0;

 L21604: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  switch (GET_MODE (x4))
    {
    case V4SImode:
      goto L30801;
    case V2DImode:
      goto L30802;
    default:
      break;
    }
  goto ret0;

 L30801: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V4SImode))
    {
      operands[3] = x4;
      goto L21605;
    }
  goto ret0;

 L21605: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L21606;
    }
  goto ret0;

 L21606: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L21607;
  goto ret0;

 L21607: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L21608;
  goto ret0;

 L21608: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L21609;
    }
  goto ret0;

 L21609: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1955;  /* *avx2_gathersiv2df_2 */
    }
  goto ret0;

 L30802: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, V2DImode))
    {
      operands[3] = x4;
      goto L22533;
    }
  goto ret0;

 L22533: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (const1248_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L22534;
    }
  goto ret0;

 L22534: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L22535;
  goto ret0;

 L22535: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L22536;
  goto ret0;

 L22536: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L22537;
    }
  goto ret0;

 L22537: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 1987;  /* *avx2_gatherdiv2df_2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_50 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L12483;
    case MINUS:
      goto L12491;
    case MULT:
      goto L12531;
    case DIV:
      goto L12571;
    case SQRT:
      goto L12623;
    case SMAX:
      goto L12759;
    case SMIN:
      goto L12767;
    case UNSPEC:
      goto L30818;
    case FMA:
      goto L13796;
    case VEC_DUPLICATE:
      goto L14070;
    case FLOAT_EXTEND:
      goto L14193;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L30811;
    case REG:
    case SUBREG:
    case MEM:
      goto L30815;
    default:
      goto ret0;
   }
 L30811: ATTRIBUTE_UNUSED_LABEL
  if (sse_comparison_operator (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L13333;
    }
 L30815: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L18519;
    }
  goto ret0;

 L12483: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L12484;
    }
  goto ret0;

 L12484: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L12835;
    }
  goto ret0;

 L12835: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DFmode
      && GET_CODE (x2) == MINUS)
    goto L12836;
 L12485: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x2, operands[1]))
    goto L12486;
  goto ret0;

 L12836: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L12837;
  goto L12485;

 L12837: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L12838;
  goto L12485;

 L12838: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && 
#line 1133 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1182;  /* sse3_addsubv2df3 */
    }
  x2 = XEXP (x1, 1);
  goto L12485;

 L12486: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 796 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1127;  /* sse2_vmaddv2df3 */
    }
  goto ret0;

 L12491: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L12492;
    }
  goto ret0;

 L12492: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L12493;
    }
  goto ret0;

 L12493: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12494;
  goto ret0;

 L12494: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 796 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1128;  /* sse2_vmsubv2df3 */
    }
  goto ret0;

 L12531: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L12532;
    }
  goto ret0;

 L12532: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L12533;
    }
  goto ret0;

 L12533: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12534;
  goto ret0;

 L12534: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 835 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1134;  /* sse2_vmmulv2df3 */
    }
  goto ret0;

 L12571: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L12572;
    }
  goto ret0;

 L12572: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L12573;
    }
  goto ret0;

 L12573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12574;
  goto ret0;

 L12574: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 892 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1140;  /* sse2_vmdivv2df3 */
    }
  goto ret0;

 L12623: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L12624;
    }
  goto ret0;

 L12624: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12625;
    }
  goto ret0;

 L12625: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 967 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1149;  /* sse2_vmsqrtv2df2 */
    }
  goto ret0;

 L12759: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L12760;
    }
  goto ret0;

 L12760: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L12761;
    }
  goto ret0;

 L12761: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12762;
  goto ret0;

 L12762: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 1066 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1171;  /* sse2_vmsmaxv2df3 */
    }
  goto ret0;

 L12767: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L12768;
    }
  goto ret0;

 L12768: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L12769;
    }
  goto ret0;

 L12769: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L12770;
  goto ret0;

 L12770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 1066 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1172;  /* sse2_vmsminv2df3 */
    }
  goto ret0;

 L30818: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 3:
      goto L30821;
    case 2:
      goto L30822;
    case 1:
      goto L30823;
    default:
      break;
    }
  goto ret0;

 L30821: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 123)
    goto L13268;
  goto ret0;

 L13268: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L13269;
    }
  goto ret0;

 L13269: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L13270;
    }
  goto ret0;

 L13270: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_31_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L13271;
    }
  goto ret0;

 L13271: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13272;
  goto ret0;

 L13272: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 1418 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1198;  /* avx_vmcmpv2df3 */
    }
  goto ret0;

 L30822: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 80)
    goto L18951;
  goto ret0;

 L18951: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L18952;
    }
  goto ret0;

 L18952: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_0_to_15_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L18953;
    }
  goto ret0;

 L18953: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L18954;
    }
  goto ret0;

 L18954: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 9960 "../../gcc/config/i386/sse.md"
(TARGET_ROUND) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1727;  /* sse4_1_roundsd */
    }
  goto ret0;

 L30823: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 115)
    goto L20126;
  goto ret0;

 L20126: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L20127;
    }
  goto ret0;

 L20127: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L20128;
    }
  goto ret0;

 L20128: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 11478 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1806;  /* *xop_vmfrczv2df2 */
    }
  goto ret0;

 L13796: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2DFmode)
    goto L30825;
  goto ret0;

 L30825: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L13836;
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L13797;
    }
  goto ret0;

 L13836: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == V2DFmode)
    goto L30826;
  goto ret0;

 L30826: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, V2DFmode))
    {
      operands[2] = x4;
      goto L13837;
    }
 L30827: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, V2DFmode))
    {
      operands[1] = x4;
      goto L13917;
    }
  goto ret0;

 L13837: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L13838;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30827;

 L13838: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) == V2DFmode)
    goto L30829;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30827;

 L30829: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L13860;
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[3] = x3;
      goto L13839;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30827;

 L13860: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2DFmode))
    {
      operands[3] = x4;
      goto L13861;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30827;

 L13861: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13862;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30827;

 L13862: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 1974 "../../gcc/config/i386/sse.md"
(TARGET_FMA) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1276;  /* *fmai_fnmsub_v2df */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30827;

 L13839: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13840;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30827;

 L13840: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 1956 "../../gcc/config/i386/sse.md"
(TARGET_FMA) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1274;  /* *fmai_fnmadd_v2df */
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L30827;

 L13917: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L13918;
    }
  goto ret0;

 L13918: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) == V2DFmode)
    goto L30831;
  goto ret0;

 L30831: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L13940;
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[3] = x3;
      goto L13919;
    }
  goto ret0;

 L13940: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2DFmode))
    {
      operands[3] = x4;
      goto L13941;
    }
  goto ret0;

 L13941: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L13942;
    }
  goto ret0;

 L13942: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 2053 "../../gcc/config/i386/sse.md"
(TARGET_FMA4) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1284;  /* *fma4i_vmfnmsub_v2df */
    }
  goto ret0;

 L13919: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L13920;
    }
  goto ret0;

 L13920: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 2037 "../../gcc/config/i386/sse.md"
(TARGET_FMA4) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1282;  /* *fma4i_vmfnmadd_v2df */
    }
  goto ret0;

 L13797: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L13798;
    }
  goto ret0;

 L13798: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) == V2DFmode)
    goto L30833;
  goto ret0;

 L30833: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L13818;
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[3] = x3;
      goto L13799;
    }
  goto ret0;

 L13818: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2DFmode))
    {
      operands[3] = x4;
      goto L13819;
    }
  goto ret0;

 L13819: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13820;
 L13899: ATTRIBUTE_UNUSED_LABEL
  if (const0_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L13900;
    }
  goto ret0;

 L13820: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 1939 "../../gcc/config/i386/sse.md"
(TARGET_FMA) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1272;  /* *fmai_fmsub_v2df */
    }
  x2 = XEXP (x1, 1);
  goto L13899;

 L13900: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 2022 "../../gcc/config/i386/sse.md"
(TARGET_FMA4) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1280;  /* *fma4i_vmfmsub_v2df */
    }
  goto ret0;

 L13799: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13800;
 L13879: ATTRIBUTE_UNUSED_LABEL
  if (const0_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L13880;
    }
  goto ret0;

 L13800: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 1922 "../../gcc/config/i386/sse.md"
(TARGET_FMA) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1270;  /* *fmai_fmadd_v2df */
    }
  x2 = XEXP (x1, 1);
  goto L13879;

 L13880: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 2007 "../../gcc/config/i386/sse.md"
(TARGET_FMA4) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1278;  /* *fma4i_vmfmadd_v2df */
    }
  goto ret0;

 L14070: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == FLOAT)
    goto L14071;
  goto ret0;

 L14071: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L30834;
    case DImode:
      goto L30835;
    default:
      break;
    }
  goto ret0;

 L30834: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L14072;
    }
  goto ret0;

 L14072: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L14073;
    }
  goto ret0;

 L14073: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2366 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1305;  /* sse2_cvtsi2sd */
    }
  goto ret0;

 L30835: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L14080;
    }
  goto ret0;

 L14080: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L14081;
    }
  goto ret0;

 L14081: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2386 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT))
    {
      return 1306;  /* sse2_cvtsi2sdq */
    }
  goto ret0;

 L14193: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L14194;
  goto ret0;

 L14194: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SFmode))
    {
      operands[2] = x4;
      goto L14195;
    }
  goto ret0;

 L14195: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 2)
    goto L14196;
  goto ret0;

 L14196: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14197;
  goto ret0;

 L14197: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14198;
  goto ret0;

 L14198: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L14199;
    }
  goto ret0;

 L14199: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2674 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1323;  /* sse2_cvtss2sd */
    }
  goto ret0;

 L13333: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L13334;
    }
  goto ret0;

 L13334: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L13335;
    }
  goto ret0;

 L13335: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1]))
    goto L13336;
  goto ret0;

 L13336: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 1464 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1208;  /* sse2_vmmaskcmpv2df3 */
    }
  goto ret0;

 L18519: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L18520;
    }
  goto ret0;

 L18520: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (const_0_to_3_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18521;
    }
  goto ret0;

 L18521: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9461 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1670;  /* sse4_1_blendpd */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_51 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L30765;
    case PLUS:
      goto L12454;
    case MINUS:
      goto L12460;
    case VEC_MERGE:
      goto L12482;
    case MULT:
      goto L12516;
    case DIV:
      goto L12556;
    case SQRT:
      goto L12610;
    case SMAX:
      goto L12682;
    case SMIN:
      goto L12688;
    case VEC_CONCAT:
      goto L12944;
    case AND:
      goto L13405;
    case IOR:
      goto L13472;
    case XOR:
      goto L13478;
    case FMA:
      goto L13555;
    case FLOAT:
      goto L14054;
    case FLOAT_EXTEND:
      goto L14230;
    case VEC_SELECT:
      goto L14763;
    case VEC_DUPLICATE:
      goto L14820;
    case IF_THEN_ELSE:
      goto L19408;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L30747;
    default:
      goto ret0;
   }
 L30747: ATTRIBUTE_UNUSED_LABEL
  if (sse_comparison_operator (x1, V2DFmode))
    {
      operands[3] = x1;
      goto L13294;
    }
  goto ret0;

 L30765: ATTRIBUTE_UNUSED_LABEL
  return recog_49 (x0, insn, pnum_clobbers);

 L12454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12455;
    }
  goto ret0;

 L12455: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12456;
    }
  goto ret0;

 L12456: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)) && (TARGET_SSE2)))
    {
      return 1123;  /* *addv2df3 */
    }
  goto ret0;

 L12460: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12461;
    }
  goto ret0;

 L12461: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12462;
    }
  goto ret0;

 L12462: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)) && (TARGET_SSE2)))
    {
      return 1124;  /* *subv2df3 */
    }
  goto ret0;

 L12482: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L30803;
  goto ret0;

 L30803: ATTRIBUTE_UNUSED_LABEL
  return recog_50 (x0, insn, pnum_clobbers);

 L12516: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12517;
    }
  goto ret0;

 L12517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12518;
    }
  goto ret0;

 L12518: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 818 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1132;  /* *mulv2df3 */
    }
  goto ret0;

 L12556: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12557;
    }
  goto ret0;

 L12557: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12558;
    }
  goto ret0;

 L12558: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 875 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1138;  /* sse2_divv2df3 */
    }
  goto ret0;

 L12610: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12611;
    }
  goto ret0;

 L12611: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 953 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1147;  /* sse2_sqrtv2df2 */
    }
  goto ret0;

 L12682: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L30836;
  goto ret0;

 L30836: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12683;
    }
 L30837: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12731;
    }
  goto ret0;

 L12683: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12684;
    }
  x2 = XEXP (x1, 0);
  goto L30837;

 L12684: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && flag_finite_math_only
   && ix86_binary_operator_ok (SMAX, V2DFmode, operands)) && (TARGET_SSE2)))
    {
      return 1159;  /* *smaxv2df3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30837;

 L12731: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12732;
    }
  goto ret0;

 L12732: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1049 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !flag_finite_math_only) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1167;  /* *smaxv2df3 */
    }
  goto ret0;

 L12688: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L30838;
  goto ret0;

 L30838: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12689;
    }
 L30839: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12737;
    }
  goto ret0;

 L12689: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12690;
    }
  x2 = XEXP (x1, 0);
  goto L30839;

 L12690: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && flag_finite_math_only
   && ix86_binary_operator_ok (SMIN, V2DFmode, operands)) && (TARGET_SSE2)))
    {
      return 1160;  /* *sminv2df3_finite */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L30839;

 L12737: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12738;
    }
  goto ret0;

 L12738: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1049 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !flag_finite_math_only) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1168;  /* *sminv2df3 */
    }
  goto ret0;

 L12944: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L30840;
  goto ret0;

 L30840: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L12945;
    case MINUS:
      goto L12966;
    case REG:
    case SUBREG:
    case MEM:
      goto L30842;
    default:
      goto ret0;
   }
 L30842: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L14826;
    }
  goto ret0;

 L12945: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L12946;
  goto ret0;

 L12946: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V2DFmode))
    {
      operands[1] = x4;
      goto L12947;
    }
  goto ret0;

 L12947: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L12948;
  goto ret0;

 L12948: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12949;
  goto ret0;

 L12949: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L12950;
  goto ret0;

 L12950: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L12951;
  goto ret0;

 L12951: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L12952;
  goto ret0;

 L12952: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12953;
  goto ret0;

 L12953: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == PLUS)
    goto L12954;
  goto ret0;

 L12954: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L12955;
  goto ret0;

 L12955: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2DFmode))
    {
      operands[2] = x4;
      goto L12956;
    }
  goto ret0;

 L12956: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L12957;
  goto ret0;

 L12957: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12958;
  goto ret0;

 L12958: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L12959;
  goto ret0;

 L12959: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2]))
    goto L12960;
  goto ret0;

 L12960: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L12961;
  goto ret0;

 L12961: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1215 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1187;  /* sse3_haddv2df3 */
    }
  goto ret0;

 L12966: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L12967;
  goto ret0;

 L12967: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V2DFmode))
    {
      operands[1] = x4;
      goto L12968;
    }
  goto ret0;

 L12968: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L12969;
  goto ret0;

 L12969: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12970;
  goto ret0;

 L12970: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L12971;
  goto ret0;

 L12971: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L12972;
  goto ret0;

 L12972: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L12973;
  goto ret0;

 L12973: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L12974;
  goto ret0;

 L12974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == MINUS)
    goto L12975;
  goto ret0;

 L12975: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L12976;
  goto ret0;

 L12976: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2DFmode))
    {
      operands[2] = x4;
      goto L12977;
    }
  goto ret0;

 L12977: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L12978;
  goto ret0;

 L12978: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L12979;
  goto ret0;

 L12979: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DFmode
      && GET_CODE (x3) == VEC_SELECT)
    goto L12980;
  goto ret0;

 L12980: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2]))
    goto L12981;
  goto ret0;

 L12981: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L12982;
  goto ret0;

 L12982: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1215 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1188;  /* sse3_hsubv2df3 */
    }
  goto ret0;

 L14826: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L14827;
    }
  goto ret0;

 L14827: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4874 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1391;  /* *vec_concatv2df */
    }
  goto ret0;

 L13405: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L30843;
  goto ret0;

 L30843: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L13406;
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L13467;
    }
  goto ret0;

 L13406: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L13407;
    }
  goto ret0;

 L13407: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13408;
    }
  goto ret0;

 L13408: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1560 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1216;  /* sse2_andnotv2df3 */
    }
  goto ret0;

 L13467: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13468;
    }
  goto ret0;

 L13468: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (AND, V2DFmode, operands)) && (TARGET_SSE2)))
    {
      return 1226;  /* *andv2df3 */
    }
  goto ret0;

 L13472: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L13473;
    }
  goto ret0;

 L13473: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13474;
    }
  goto ret0;

 L13474: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (IOR, V2DFmode, operands)) && (TARGET_SSE2)))
    {
      return 1227;  /* *iorv2df3 */
    }
  goto ret0;

 L13478: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L13479;
    }
  goto ret0;

 L13479: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13480;
    }
  goto ret0;

 L13480: ATTRIBUTE_UNUSED_LABEL
  if (
((TARGET_SSE && ix86_binary_operator_ok (XOR, V2DFmode, operands)) && (TARGET_SSE2)))
    {
      return 1228;  /* *xorv2df3 */
    }
  goto ret0;

 L13555: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L30846;
  goto ret0;

 L30846: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13649;
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L13556;
    }
  goto ret0;

 L13649: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L13650;
    }
  goto ret0;

 L13650: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13651;
    }
  goto ret0;

 L13651: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V2DFmode)
    goto L30848;
  goto ret0;

 L30848: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13703;
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L13652;
    }
  goto ret0;

 L13703: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[3] = x3;
      goto L13704;
    }
  goto ret0;

 L13704: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1831 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1258;  /* *fma_fnmsub_v2df */
    }
  goto ret0;

 L13652: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1812 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1252;  /* *fma_fnmadd_v2df */
    }
  goto ret0;

 L13556: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13557;
    }
  goto ret0;

 L13557: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == V2DFmode)
    goto L30850;
  goto ret0;

 L30850: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13603;
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L13558;
    }
  goto ret0;

 L13603: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[3] = x3;
      goto L13604;
    }
  goto ret0;

 L13604: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1794 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1246;  /* *fma_fmsub_v2df */
    }
  goto ret0;

 L13558: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1776 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1240;  /* *fma_fmadd_v2df */
    }
  goto ret0;

 L14054: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SImode)
    goto L30852;
  goto ret0;

 L30852: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14139;
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L14055;
    }
  goto ret0;

 L14139: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L14140;
    }
  goto ret0;

 L14140: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L14141;
  goto ret0;

 L14141: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14142;
  goto ret0;

 L14142: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2521 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1315;  /* sse2_cvtdq2pd */
    }
  goto ret0;

 L14055: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2329 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1302;  /* sse2_cvtpi2pd */
    }
  goto ret0;

 L14230: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L14231;
  goto ret0;

 L14231: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14232;
    }
  goto ret0;

 L14232: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L14233;
  goto ret0;

 L14233: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14234;
  goto ret0;

 L14234: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 2756 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1328;  /* sse2_cvtps2pd */
    }
  goto ret0;

 L14763: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V4DFmode:
      goto L30853;
    case V2DFmode:
      goto L30854;
    default:
      break;
    }
  goto ret0;

 L30853: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L14764;
  goto ret0;

 L14764: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14765;
    }
  goto ret0;

 L14765: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L14766;
    }
  goto ret0;

 L14766: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L14767;
  goto ret0;

 L14767: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_1_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L14768;
    }
  goto ret0;

 L14768: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_2_to_3_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L14769;
    }
  goto ret0;

 L14769: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4576 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1382;  /* sse2_shufpd_v2df */
    }
  goto ret0;

 L30854: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L20527;
    }
  goto ret0;

 L20527: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) >= 1)
    {
      operands[2] = x2;
      goto L20528;
    }
  goto ret0;

 L20528: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L20529;
    }
  goto ret0;

 L20529: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12006 "../../gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vpermilp_parallel (operands[2], V2DFmode)) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1870;  /* *avx_vpermilpv2df */
    }
  goto ret0;

 L14820: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L14821;
    }
  goto ret0;

 L14821: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4860 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1390;  /* vec_dupv2df */
    }
  goto ret0;

 L19408: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L19409;
    }
  goto ret0;

 L19409: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L19410;
    }
  goto ret0;

 L19410: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L19411;
    }
  goto ret0;

 L19411: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10590 "../../gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 118 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1759;  /* xop_pcmov_v2df */
    }
  goto ret0;

 L13294: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L13295;
    }
  goto ret0;

 L13295: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L13296;
    }
  goto ret0;

 L13296: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1430 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1202;  /* *sse2_maskcmpv2df3_comm */
    }
 L13320: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1446 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1206;  /* sse2_maskcmpv2df3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_52 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    case HImode:
      goto L28453;
    case CCmode:
      goto L28448;
    case DImode:
      goto L28449;
    case TImode:
      goto L28450;
    case SImode:
      goto L28451;
    case QImode:
      goto L28452;
    case OImode:
      goto L28458;
    case TFmode:
      goto L28475;
    case XFmode:
      goto L28476;
    case DFmode:
      goto L28477;
    case SFmode:
      goto L28478;
    default:
      break;
    }
 L1: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L2;
 L263: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x1))
    {
    case CCFPmode:
      goto L28502;
    case CCFPUmode:
      goto L28503;
    case CCCmode:
      goto L28504;
    default:
      break;
    }
 L525: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case STRICT_LOW_PART:
      goto L526;
    case PC:
      goto L7421;
    case REG:
    case SUBREG:
      goto L2239;
    default:
      goto L7636;
   }
 L2239: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L2240;
    }
 L7636: ATTRIBUTE_UNUSED_LABEL
  operands[0] = x1;
  goto L7821;
 L7854: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x1))
    {
    case SImode:
      goto L28505;
    case DImode:
      goto L28506;
    case HImode:
      goto L28507;
    case CCmode:
      goto L28512;
    case SFmode:
      goto L28513;
    case DFmode:
      goto L28514;
    case XFmode:
      goto L28515;
    case QImode:
      goto L28520;
    case CCZmode:
      goto L28521;
    case CCCmode:
      goto L28522;
    default:
      break;
    }
 L8756: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == STRICT_LOW_PART)
    goto L8757;
 L11366: ATTRIBUTE_UNUSED_LABEL
  operands[0] = x1;
  goto L11367;
 L11370: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x1))
    {
    case V8QImode:
      goto L28537;
    case V4HImode:
      goto L28524;
    case V2SImode:
      goto L28525;
    case V1DImode:
      goto L28526;
    case V2SFmode:
      goto L28527;
    case DImode:
      goto L28528;
    case SFmode:
      goto L28531;
    case SImode:
      goto L28535;
    case V32QImode:
      goto L28538;
    case V16QImode:
      goto L28586;
    case V16HImode:
      goto L28540;
    case V8HImode:
      goto L28541;
    case V8SImode:
      goto L28542;
    case V4SImode:
      goto L28543;
    case V4DImode:
      goto L28544;
    case V2DImode:
      goto L28545;
    case V2TImode:
      goto L28546;
    case V1TImode:
      goto L28547;
    case V8SFmode:
      goto L28548;
    case V4SFmode:
      goto L28549;
    case V4DFmode:
      goto L28550;
    case V2DFmode:
      goto L28551;
    case CCFPmode:
      goto L28569;
    case CCFPUmode:
      goto L28570;
    case DFmode:
      goto L28572;
    case TFmode:
      goto L28581;
    case QImode:
      goto L28582;
    case HImode:
      goto L28583;
    case TImode:
      goto L28587;
    case CCmode:
      goto L28596;
    default:
      break;
    }
 L23207: ATTRIBUTE_UNUSED_LABEL
  operands[0] = x1;
  goto L23208;
 L23248: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x1))
    {
    case QImode:
      goto L28600;
    case HImode:
      goto L28601;
    case SImode:
      goto L28602;
    case DImode:
      goto L28603;
    case DFmode:
      goto L28604;
    default:
      break;
    }
  goto ret0;

 L28453: ATTRIBUTE_UNUSED_LABEL
  tem = recog_1 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L1;

 L28448: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L259;
  goto L1;

 L259: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 25)
    goto L260;
  x1 = XEXP (x0, 0);
  goto L1;

 L260: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L261;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L261: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1432 "../../gcc/config/i386/i386.md"
(TARGET_SAHF))
    {
      return 33;  /* x86_sahf_1 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28449: ATTRIBUTE_UNUSED_LABEL
  tem = recog_3 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L1;

 L28450: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, TImode))
    {
      operands[0] = x1;
      goto L304;
    }
 L28459: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, TImode))
    {
      operands[0] = x1;
      goto L1751;
    }
 L28498: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, TImode))
    {
      operands[0] = x1;
      goto L3014;
    }
  goto L1;

 L304: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_no_elim_operand (x1, TImode))
    {
      operands[1] = x1;
      goto L305;
    }
  x1 = XEXP (x0, 0);
  goto L28459;

 L305: ATTRIBUTE_UNUSED_LABEL
  if (
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 41;  /* *pushti2 */
    }
  x1 = XEXP (x0, 0);
  goto L28459;

 L1751: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == TImode)
    goto L28722;
 L416: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x1, TImode))
    {
      operands[1] = x1;
      goto L417;
    }
 L420: ATTRIBUTE_UNUSED_LABEL
  if (vector_move_operand (x1, TImode))
    {
      operands[1] = x1;
      goto L421;
    }
  x1 = XEXP (x0, 0);
  goto L28498;

 L28722: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L1752;
    case MINUS:
      goto L2305;
    case NEG:
      goto L4994;
    default:
     break;
   }
  goto L416;

 L1752: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L1753;
    }
  goto L416;

 L1753: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, TImode))
    {
      operands[2] = x2;
      goto L1754;
    }
  goto L416;

 L1754: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5474 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, TImode, operands)) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 246;  /* *addti3_doubleword */
    }
  x1 = XEXP (x0, 1);
  goto L416;

 L2305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L2306;
    }
  goto L416;

 L2306: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_general_operand (x2, TImode))
    {
      operands[2] = x2;
      goto L2307;
    }
  goto L416;

 L2307: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6393 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 283;  /* *subti3_doubleword */
    }
  x1 = XEXP (x0, 1);
  goto L416;

 L4994: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L4995;
    }
  goto L416;

 L4995: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8510 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, TImode, operands)) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 432;  /* *negti2_doubleword */
    }
  x1 = XEXP (x0, 1);
  goto L416;

 L417: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1827 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 60;  /* *movti_internal_rex64 */
    }
  x1 = XEXP (x0, 1);
  goto L420;

 L421: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1884 "../../gcc/config/i386/i386.md"
(TARGET_SSE && !TARGET_64BIT
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 61;  /* *movti_internal_sse */
    }
  x1 = XEXP (x0, 0);
  goto L28498;

 L3014: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == TImode)
    goto L28725;
  x1 = XEXP (x0, 0);
  goto L1;

 L28725: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MULT:
      goto L3015;
    case ASHIFT:
      goto L5513;
    case LSHIFTRT:
      goto L5970;
    case ASHIFTRT:
      goto L5984;
    case ROTATE:
      goto L6682;
    case ROTATERT:
      goto L6716;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L1;

 L3015: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode)
    goto L28731;
  x1 = XEXP (x0, 0);
  goto L1;

 L28731: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L3016;
    case SIGN_EXTEND:
      goto L3052;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L1;

 L3016: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L3017;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L3017: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L3018;
  x1 = XEXP (x0, 0);
  goto L1;

 L3018: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3019;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L3019: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6827 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 327;  /* *umulditi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L3052: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L3053;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L3053: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L3054;
  x1 = XEXP (x0, 0);
  goto L1;

 L3054: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3055;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L3055: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6878 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 329;  /* *mulditi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5513: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_pm1_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L5514;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5514: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5515;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5515: ATTRIBUTE_UNUSED_LABEL
  if (
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 480;  /* *ashlti3_doubleword */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5970: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L5971;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5971: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5972;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5972: ATTRIBUTE_UNUSED_LABEL
  if (
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 509;  /* *lshrti3_doubleword */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5984: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L5985;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5985: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L5986;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5986: ATTRIBUTE_UNUSED_LABEL
  if (
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 510;  /* *ashrti3_doubleword */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L6682: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L6683;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L6683: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_1_to_63_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6684;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L6684: ATTRIBUTE_UNUSED_LABEL
  if (
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 557;  /* ix86_rotlti3_doubleword */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L6716: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L6717;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L6717: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_1_to_63_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L6718;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L6718: ATTRIBUTE_UNUSED_LABEL
  if (
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 559;  /* ix86_rotrti3_doubleword */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28451: ATTRIBUTE_UNUSED_LABEL
  tem = recog_5 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L1;

 L28452: ATTRIBUTE_UNUSED_LABEL
  tem = recog_6 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L1;

 L28458: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, OImode))
    {
      operands[0] = x1;
      goto L412;
    }
  goto L1;

 L412: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (vector_move_operand (x1, OImode))
    {
      operands[1] = x1;
      goto L413;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L413: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1803 "../../gcc/config/i386/i386.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 59;  /* *movoi_internal_avx */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28475: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, TFmode))
    {
      operands[0] = x1;
      goto L639;
    }
 L28479: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, TFmode))
    {
      operands[0] = x1;
      goto L667;
    }
 L28499: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, TFmode))
    {
      operands[0] = x1;
      goto L5344;
    }
  goto L1;

 L639: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_no_elim_operand (x1, TFmode))
    {
      operands[1] = x1;
      goto L640;
    }
  x1 = XEXP (x0, 0);
  goto L28479;

 L640: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2606 "../../gcc/config/i386/i386.md"
(TARGET_SSE2))
    {
      return 97;  /* *pushtf */
    }
  x1 = XEXP (x0, 0);
  goto L28479;

 L667: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, TFmode))
    {
      operands[1] = x1;
      goto L668;
    }
  x1 = XEXP (x0, 0);
  goto L28499;

 L668: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2772 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (!can_create_pseudo_p ()
       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
       || GET_CODE (operands[1]) != CONST_DOUBLE
       || (optimize_function_for_size_p (cfun)
	   && standard_sse_constant_p (operands[1])
	   && !memory_operand (operands[0], TFmode))
       || (!TARGET_MEMORY_MISMATCH_STALL
	   && memory_operand (operands[0], TFmode)))))
    {
      return 104;  /* *movtf_internal_rex64 */
    }
 L672: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2834 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && !TARGET_64BIT
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (!can_create_pseudo_p ()
       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
       || GET_CODE (operands[1]) != CONST_DOUBLE
       || (optimize_function_for_size_p (cfun)
	   && standard_sse_constant_p (operands[1])
	   && !memory_operand (operands[0], TFmode))
       || (!TARGET_MEMORY_MISMATCH_STALL
	   && memory_operand (operands[0], TFmode)))))
    {
      return 105;  /* *movtf_internal_sse2 */
    }
  x1 = XEXP (x0, 0);
  goto L28499;

 L5344: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == TFmode)
    goto L28807;
  x1 = XEXP (x0, 0);
  goto L1;

 L28807: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L28809;
  x1 = XEXP (x0, 0);
  goto L1;

 L28809: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 3:
      goto L28811;
    case 4:
      goto L28812;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28811: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 45)
    goto L5345;
  x1 = XEXP (x0, 0);
  goto L1;

 L5345: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (vector_move_operand (x2, TFmode))
    {
      operands[1] = x2;
      goto L5346;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5346: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L5347;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5347: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[3] = x2;
      goto L5348;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5348: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8821 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (TFmode == TFmode))))
    {
      return 465;  /* copysigntf3_const */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28812: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 45)
    goto L5401;
  x1 = XEXP (x0, 0);
  goto L1;

 L5401: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L5402;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5402: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, TFmode))
    {
      operands[3] = x2;
      goto L5403;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5403: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[4] = x2;
      goto L5404;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5404: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[5] = x2;
      goto L5405;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5405: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8837 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (TFmode == TFmode)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 468;  /* copysigntf3_var */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28476: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, XFmode))
    {
      operands[0] = x1;
      goto L643;
    }
 L28480: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, XFmode))
    {
      operands[0] = x1;
      goto L887;
    }
 L28497: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, XFmode))
    {
      operands[0] = x1;
      goto L1284;
    }
  goto L1;

 L643: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_no_elim_operand (x1, XFmode))
    {
      operands[1] = x1;
      goto L644;
    }
  x1 = XEXP (x0, 0);
  goto L28480;

 L644: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2626 "../../gcc/config/i386/i386.md"
(optimize_function_for_speed_p (cfun)))
    {
      return 98;  /* *pushxf */
    }
 L648: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2644 "../../gcc/config/i386/i386.md"
(optimize_function_for_size_p (cfun)))
    {
      return 99;  /* *pushxf_nointeger */
    }
  x1 = XEXP (x0, 0);
  goto L28480;

 L887: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == XFmode
      && GET_CODE (x1) == FLOAT_EXTEND)
    goto L888;
  if (general_operand (x1, XFmode))
    {
      operands[1] = x1;
      goto L676;
    }
  x1 = XEXP (x0, 0);
  goto L28497;

 L888: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L28813;
    case DFmode:
      goto L28814;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28497;

 L28813: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L889;
    }
  x1 = XEXP (x0, 0);
  goto L28497;

 L889: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3993 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 138;  /* *extendsfxf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28497;

 L28814: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L894;
    }
  x1 = XEXP (x0, 0);
  goto L28497;

 L894: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3993 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 139;  /* *extenddfxf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28497;

 L676: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2893 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (!can_create_pseudo_p ()
       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
       || GET_CODE (operands[1]) != CONST_DOUBLE
       || (optimize_function_for_size_p (cfun)
	   && standard_80387_constant_p (operands[1]) > 0
	   && !memory_operand (operands[0], XFmode))
       || (!TARGET_MEMORY_MISMATCH_STALL
	   && memory_operand (operands[0], XFmode)))))
    {
      return 106;  /* *movxf_internal_rex64 */
    }
 L680: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2927 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (!can_create_pseudo_p ()
       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
       || GET_CODE (operands[1]) != CONST_DOUBLE
       || (optimize_function_for_size_p (cfun)
	   && standard_80387_constant_p (operands[1]) > 0
	   && !memory_operand (operands[0], XFmode))
       || (!TARGET_MEMORY_MISMATCH_STALL
	   && memory_operand (operands[0], XFmode)))))
    {
      return 107;  /* *movxf_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28497;

 L1284: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == XFmode)
    goto L28815;
  x1 = XEXP (x0, 0);
  goto L1;

 L28815: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FLOAT:
      goto L1285;
    case ABS:
      goto L5285;
    case NEG:
      goto L5290;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L1;

 L1285: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L28818;
    case SImode:
      goto L28820;
    case DImode:
      goto L28821;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28818: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L1286;
    }
 L28819: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L1325;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L1286: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4724 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && can_create_pseudo_p ()))
    {
      return 180;  /* *floathixf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28819;

 L1325: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4751 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
    {
      return 186;  /* *floathixf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28820: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1340;
    }
 L28822: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1614;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L1340: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (XFmode, SImode)
     && (!((SImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((SImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH
	&& ((SImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()))
    {
      return 189;  /* *floatsixf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28822;

 L1614: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5255 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (XFmode, SImode)))
    {
      return 233;  /* *floatsixf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28821: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1355;
    }
 L28823: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1629;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L1355: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (XFmode, DImode)
     && (!((DImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((DImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH
	&& ((DImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()))
    {
      return 192;  /* *floatdixf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28823;

 L1629: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5255 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (XFmode, DImode)))
    {
      return 236;  /* *floatdixf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5285: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == XFmode)
    goto L28825;
  x1 = XEXP (x0, 0);
  goto L1;

 L28825: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L5308;
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L5286;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5308: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L28826;
    case DFmode:
      goto L28827;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28826: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L5309;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5309: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8787 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 459;  /* *absextendsfxf2 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28827: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L5321;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5321: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8796 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 461;  /* *absextenddfxf2 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5286: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8767 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH))))
    {
      return 455;  /* *absxf2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5290: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == XFmode)
    goto L28829;
  x1 = XEXP (x0, 0);
  goto L1;

 L28829: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L5314;
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L5291;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5314: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L28830;
    case DFmode:
      goto L28831;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28830: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L5315;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5315: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8787 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 460;  /* *negextendsfxf2 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28831: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L5327;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5327: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8796 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 462;  /* *negextenddfxf2 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L5291: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8767 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH))))
    {
      return 456;  /* *negxf2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28477: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L651;
    }
 L28481: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L872;
    }
 L28486: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L954;
    }
 L28488: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L964;
    }
  goto L1;

 L651: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_no_elim_operand (x1, DFmode))
    {
      operands[1] = x1;
      goto L652;
    }
  x1 = XEXP (x0, 0);
  goto L28481;

 L652: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2665 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 100;  /* *pushdf_rex64 */
    }
 L656: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2681 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 101;  /* *pushdf */
    }
  x1 = XEXP (x0, 0);
  goto L28481;

 L872: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode
      && GET_CODE (x1) == FLOAT_EXTEND)
    goto L873;
  if (general_operand (x1, DFmode))
    {
      operands[1] = x1;
      goto L684;
    }
  x1 = XEXP (x0, 0);
  goto L28486;

 L873: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L874;
    }
  x1 = XEXP (x0, 0);
  goto L28486;

 L874: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3933 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_MIX_SSE_I387))
    {
      return 135;  /* *extendsfdf2_mixed */
    }
 L879: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3955 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH))
    {
      return 136;  /* *extendsfdf2_sse */
    }
 L884: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3964 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 137;  /* *extendsfdf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28486;

 L684: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2962 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (!can_create_pseudo_p ()
       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
       || GET_CODE (operands[1]) != CONST_DOUBLE
       || (optimize_function_for_size_p (cfun)
	   && ((!(TARGET_SSE2 && TARGET_SSE_MATH)
		&& standard_80387_constant_p (operands[1]) > 0)
	       || (TARGET_SSE2 && TARGET_SSE_MATH
		   && standard_sse_constant_p (operands[1]))))
       || memory_operand (operands[0], DFmode))))
    {
      return 108;  /* *movdf_internal_rex64 */
    }
 L688: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3103 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (!can_create_pseudo_p ()
       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
       || GET_CODE (operands[1]) != CONST_DOUBLE
       || (optimize_function_for_size_p (cfun)
	   && ((!(TARGET_SSE2 && TARGET_SSE_MATH)
		&& standard_80387_constant_p (operands[1]) > 0)
	       || (TARGET_SSE2 && TARGET_SSE_MATH
		   && standard_sse_constant_p (operands[1])))
	   && !memory_operand (operands[0], DFmode))
       || (!TARGET_MEMORY_MISMATCH_STALL
	   && memory_operand (operands[0], DFmode)))))
    {
      return 109;  /* *movdf_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28486;

 L954: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode)
    goto L28832;
  x1 = XEXP (x0, 0);
  goto L28488;

 L28832: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FLOAT_TRUNCATE:
      goto L955;
    case FLOAT:
      goto L1280;
    case ABS:
      goto L5275;
    case NEG:
      goto L5280;
    case UNSPEC:
      goto L28839;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L28838;
    default:
      x1 = XEXP (x0, 0);
      goto L28488;
   }
 L28838: ATTRIBUTE_UNUSED_LABEL
  if (sse_comparison_operator (x1, DFmode))
    {
      operands[3] = x1;
      goto L7026;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L955: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L956;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L956: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4235 "../../gcc/config/i386/i386.md"
(TARGET_80387 && flag_unsafe_math_optimizations))
    {
      return 149;  /* truncxfdf2_i387_noop */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L1280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L28841;
    case SImode:
      goto L28843;
    case DImode:
      goto L28844;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L28841: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L1281;
    }
 L28842: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L1320;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L1281: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4724 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && can_create_pseudo_p ()))
    {
      return 179;  /* *floathidf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28842;

 L1320: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4751 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
    {
      return 185;  /* *floathidf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L28843: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1335;
    }
 L28845: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1381;
    }
 L28846: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1423;
    }
 L28848: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1443;
    }
 L28850: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1521;
    }
 L28852: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1541;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L1335: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (DFmode, SImode)
     && (!((SImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((SImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
	&& ((SImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()))
    {
      return 188;  /* *floatsidf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28845;

 L1381: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4866 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_MIX_SSE_I387
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)))
    {
      return 196;  /* *floatsidf2_vector_mixed */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28846;

 L1423: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4926 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 202;  /* *floatsidf2_mixed_interunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28848;

 L1443: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4952 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 206;  /* *floatsidf2_mixed_nointerunit */
    }
 L1479: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4990 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)))
    {
      return 212;  /* *floatsidf2_vector_sse */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28850;

 L1521: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5157 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 218;  /* *floatsidf2_sse_interunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28852;

 L1541: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5192 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 222;  /* *floatsidf2_sse_nointerunit */
    }
 L1609: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5255 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (DFmode, SImode)))
    {
      return 232;  /* *floatsidf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L28844: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1350;
    }
 L28847: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1433;
    }
 L28849: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1453;
    }
 L28851: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1531;
    }
 L28853: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1551;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L1350: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (DFmode, DImode)
     && (!((DImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((DImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
	&& ((DImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()))
    {
      return 191;  /* *floatdidf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28847;

 L1433: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4926 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 204;  /* *floatdidf2_mixed_interunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28849;

 L1453: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4952 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 208;  /* *floatdidf2_mixed_nointerunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28851;

 L1531: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5157 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 220;  /* *floatdidf2_sse_interunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28853;

 L1551: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5192 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 224;  /* *floatdidf2_sse_nointerunit */
    }
 L1624: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5255 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (DFmode, DImode)))
    {
      return 235;  /* *floatdidf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L28855;
  x1 = XEXP (x0, 0);
  goto L28488;

 L28855: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L5296;
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L5276;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5296: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L5297;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5297: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8778 "../../gcc/config/i386/i386.md"
(TARGET_80387 && (!TARGET_SSE_MATH || TARGET_MIX_SSE_I387)))
    {
      return 457;  /* *absextendsfdf2 */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5276: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8767 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))))
    {
      return 453;  /* *absdf2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L28857;
  x1 = XEXP (x0, 0);
  goto L28488;

 L28857: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT_EXTEND)
    goto L5302;
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L5281;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5302: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L5303;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5303: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8778 "../../gcc/config/i386/i386.md"
(TARGET_80387 && (!TARGET_SSE_MATH || TARGET_MIX_SSE_I387)))
    {
      return 458;  /* *negextendsfdf2 */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5281: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8767 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))))
    {
      return 454;  /* *negdf2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L28839: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 3:
      goto L28858;
    case 4:
      goto L28859;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L28858: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 45)
    goto L5338;
  x1 = XEXP (x0, 0);
  goto L28488;

 L5338: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (vector_move_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L5339;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5339: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L5340;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5340: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L5341;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5341: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8821 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (DFmode == TFmode))))
    {
      return 464;  /* copysigndf3_const */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L28859: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 45)
    goto L5382;
  x1 = XEXP (x0, 0);
  goto L28488;

 L5382: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L5383;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5383: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L5384;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5384: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L5385;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5385: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[5] = x2;
      goto L5386;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L5386: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8837 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (DFmode == TFmode)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 467;  /* copysigndf3_var */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L7026: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L7027;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L7027: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L7028;
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L7028: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10687 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode)))
    {
      return 586;  /* setcc_df_sse */
    }
  x1 = XEXP (x0, 0);
  goto L28488;

 L964: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode
      && GET_CODE (x1) == FLOAT_TRUNCATE)
    goto L965;
  x1 = XEXP (x0, 0);
  goto L1;

 L965: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L966;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L966: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4244 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 151;  /* *truncxfdf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L28478: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L659;
    }
 L28482: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L897;
    }
 L28484: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L928;
    }
 L28485: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L949;
    }
 L28487: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L959;
    }
  goto L1;

 L659: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonmemory_no_elim_operand (x1, SFmode))
    {
      operands[1] = x1;
      goto L660;
    }
 L663: ATTRIBUTE_UNUSED_LABEL
  if (general_no_elim_operand (x1, SFmode))
    {
      operands[1] = x1;
      goto L664;
    }
  x1 = XEXP (x0, 0);
  goto L28482;

 L660: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2702 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 102;  /* *pushsf_rex64 */
    }
  x1 = XEXP (x0, 1);
  goto L663;

 L664: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2715 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 103;  /* *pushsf */
    }
  x1 = XEXP (x0, 0);
  goto L28482;

 L897: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode
      && GET_CODE (x1) == FLOAT_TRUNCATE)
    goto L898;
  if (general_operand (x1, SFmode))
    {
      operands[1] = x1;
      goto L692;
    }
  x1 = XEXP (x0, 0);
  goto L28484;

 L898: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L899;
    }
  x1 = XEXP (x0, 0);
  goto L28484;

 L899: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4079 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_MIX_SSE_I387 && flag_unsafe_math_optimizations))
    {
      return 140;  /* *truncdfsf_fast_mixed */
    }
 L904: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4101 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH))
    {
      return 141;  /* *truncdfsf_fast_sse */
    }
 L909: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4111 "../../gcc/config/i386/i386.md"
(TARGET_80387 && flag_unsafe_math_optimizations))
    {
      return 142;  /* *truncdfsf_fast_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28484;

 L692: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3237 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (!can_create_pseudo_p ()
       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
       || GET_CODE (operands[1]) != CONST_DOUBLE
       || (optimize_function_for_size_p (cfun)
	   && ((!TARGET_SSE_MATH
		&& standard_80387_constant_p (operands[1]) > 0)
	       || (TARGET_SSE_MATH
		   && standard_sse_constant_p (operands[1]))))
       || memory_operand (operands[0], SFmode))))
    {
      return 110;  /* *movsf_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28484;

 L928: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode
      && GET_CODE (x1) == FLOAT_TRUNCATE)
    goto L929;
  x1 = XEXP (x0, 0);
  goto L28485;

 L929: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L930;
    }
  x1 = XEXP (x0, 0);
  goto L28485;

 L930: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4164 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && !(TARGET_SSE2 && TARGET_SSE_MATH)
   && !TARGET_MIX_SSE_I387))
    {
      return 145;  /* *truncdfsf2_i387_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28485;

 L949: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode)
    goto L28860;
  x1 = XEXP (x0, 0);
  goto L28487;

 L28860: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FLOAT_TRUNCATE:
      goto L950;
    case FLOAT:
      goto L1275;
    case ABS:
      goto L5265;
    case NEG:
      goto L5270;
    case UNSPEC:
      goto L28867;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L28866;
    default:
      x1 = XEXP (x0, 0);
      goto L28487;
   }
 L28866: ATTRIBUTE_UNUSED_LABEL
  if (sse_comparison_operator (x1, SFmode))
    {
      operands[3] = x1;
      goto L7020;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L951;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L951: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4235 "../../gcc/config/i386/i386.md"
(TARGET_80387 && flag_unsafe_math_optimizations))
    {
      return 148;  /* truncxfsf2_i387_noop */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L1275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L28869;
    case SImode:
      goto L28871;
    case DImode:
      goto L28872;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L28869: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L1276;
    }
 L28870: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L1315;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L1276: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4724 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && can_create_pseudo_p ()))
    {
      return 178;  /* *floathisf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28870;

 L1315: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4751 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
    {
      return 184;  /* *floathisf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L28871: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1330;
    }
 L28873: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1376;
    }
 L28874: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1418;
    }
 L28876: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1438;
    }
 L28878: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1516;
    }
 L28880: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L1536;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L1330: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (SFmode, SImode)
     && (!((SImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((SImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
	&& ((SImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()))
    {
      return 187;  /* *floatsisf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28873;

 L1376: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4866 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_MIX_SSE_I387
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)))
    {
      return 195;  /* *floatsisf2_vector_mixed */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28874;

 L1418: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4926 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 201;  /* *floatsisf2_mixed_interunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28876;

 L1438: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4952 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 205;  /* *floatsisf2_mixed_nointerunit */
    }
 L1474: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4990 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)))
    {
      return 211;  /* *floatsisf2_vector_sse */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28878;

 L1516: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5157 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 217;  /* *floatsisf2_sse_interunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28880;

 L1536: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5192 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 221;  /* *floatsisf2_sse_nointerunit */
    }
 L1604: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5255 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (SFmode, SImode)))
    {
      return 231;  /* *floatsisf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L28872: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1345;
    }
 L28875: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1428;
    }
 L28877: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1448;
    }
 L28879: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1526;
    }
 L28881: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L1546;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L1345: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (SFmode, DImode)
     && (!((DImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((DImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
	&& ((DImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()))
    {
      return 190;  /* *floatdisf2_1 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28875;

 L1428: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4926 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 203;  /* *floatdisf2_mixed_interunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28877;

 L1448: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4952 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 207;  /* *floatdisf2_mixed_nointerunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28879;

 L1526: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5157 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 219;  /* *floatdisf2_sse_interunit */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L28881;

 L1546: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5192 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))))
    {
      return 223;  /* *floatdisf2_sse_nointerunit */
    }
 L1619: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5255 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (SFmode, DImode)))
    {
      return 234;  /* *floatdisf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5265: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L5266;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5266: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8767 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))))
    {
      return 451;  /* *abssf2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5270: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L5271;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5271: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8767 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))))
    {
      return 452;  /* *negsf2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L28867: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 3:
      goto L28882;
    case 4:
      goto L28883;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L28882: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 45)
    goto L5331;
  x1 = XEXP (x0, 0);
  goto L28487;

 L5331: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (vector_move_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L5332;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5332: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L5333;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5333: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L5334;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5334: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8821 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (SFmode == TFmode))))
    {
      return 463;  /* copysignsf3_const */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L28883: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 45)
    goto L5363;
  x1 = XEXP (x0, 0);
  goto L28487;

 L5363: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L5364;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5364: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, SFmode))
    {
      operands[3] = x2;
      goto L5365;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5365: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L5366;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5366: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[5] = x2;
      goto L5367;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L5367: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8837 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (SFmode == TFmode)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 466;  /* copysignsf3_var */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L7020: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L7021;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L7021: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L7022;
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L7022: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10687 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode)))
    {
      return 585;  /* setcc_sf_sse */
    }
  x1 = XEXP (x0, 0);
  goto L28487;

 L959: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode
      && GET_CODE (x1) == FLOAT_TRUNCATE)
    goto L960;
  x1 = XEXP (x0, 0);
  goto L1;

 L960: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L961;
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L961: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4244 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 150;  /* *truncxfsf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L1;

 L2: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == COMPARE)
    goto L3;
  x1 = XEXP (x0, 0);
  goto L263;

 L3: ATTRIBUTE_UNUSED_LABEL
  tem = recog_7 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L263;

 L28502: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L264;
  goto L525;

 L264: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCFPmode
      && GET_CODE (x1) == COMPARE)
    goto L265;
  x1 = XEXP (x0, 0);
  goto L525;

 L265: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L266;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L266: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L267;
    }
 L278: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L279;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L267: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1454 "../../gcc/config/i386/i386.md"
(TARGET_MIX_SSE_I387
   && SSE_FLOAT_MODE_P (GET_MODE (operands[0]))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])))
    {
      return 34;  /* *cmpfp_i_mixed */
    }
 L273: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1483 "../../gcc/config/i386/i386.md"
(TARGET_SSE_MATH
   && SSE_FLOAT_MODE_P (GET_MODE (operands[0]))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])))
    {
      return 35;  /* *cmpfp_i_sse */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L278;

 L279: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1506 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[0]))
   && TARGET_CMOVE
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[0])) && TARGET_SSE_MATH)
   && GET_MODE (operands[0]) == GET_MODE (operands[1])))
    {
      return 36;  /* *cmpfp_i_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L28503: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L282;
  goto L525;

 L282: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCFPUmode
      && GET_CODE (x1) == COMPARE)
    goto L283;
  x1 = XEXP (x0, 0);
  goto L525;

 L283: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L284;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L284: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L285;
    }
 L296: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L297;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L285: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1527 "../../gcc/config/i386/i386.md"
(TARGET_MIX_SSE_I387
   && SSE_FLOAT_MODE_P (GET_MODE (operands[0]))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])))
    {
      return 37;  /* *cmpfp_iu_mixed */
    }
 L291: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1556 "../../gcc/config/i386/i386.md"
(TARGET_SSE_MATH
   && SSE_FLOAT_MODE_P (GET_MODE (operands[0]))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])))
    {
      return 38;  /* *cmpfp_iu_sse */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 1);
  goto L296;

 L297: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1579 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[0]))
   && TARGET_CMOVE
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[0])) && TARGET_SSE_MATH)
   && GET_MODE (operands[0]) == GET_MODE (operands[1])))
    {
      return 39;  /* *cmpfp_iu_387 */
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L28504: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L2755;
  goto L525;

 L2755: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCCmode
      && GET_CODE (x1) == COMPARE)
    goto L2756;
  x1 = XEXP (x0, 0);
  goto L525;

 L2756: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case QImode:
      goto L28941;
    case HImode:
      goto L28942;
    case SImode:
      goto L28943;
    case DImode:
      goto L28944;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L28941: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PLUS)
    goto L2757;
  x1 = XEXP (x0, 0);
  goto L525;

 L2757: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L2758;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L2758: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2759;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L2759: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 6568 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 310;  /* *addqi3_cconly_overflow */
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L28942: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PLUS)
    goto L2775;
  x1 = XEXP (x0, 0);
  goto L525;

 L2775: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L2776;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L2776: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L2777;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L2777: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 6568 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 311;  /* *addhi3_cconly_overflow */
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L28943: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L2793;
    case ZERO_EXTRACT:
      goto L6971;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L525;

 L2793: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2794;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L2794: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2795;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L2795: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && 
#line 6568 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 312;  /* *addsi3_cconly_overflow */
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L6971: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L6972;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L6972: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L6973;
  x1 = XEXP (x0, 0);
  goto L525;

 L6973: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x86_64_nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6974;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L6974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 10536 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)))
    {
      return 578;  /* *btsi */
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L28944: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L2811;
    case ZERO_EXTRACT:
      goto L6979;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L525;

 L2811: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L2812;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L2812: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2813;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L2813: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[1])
      && (
#line 6568 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 313;  /* *adddi3_cconly_overflow */
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L6979: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L6980;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L6980: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L6981;
  x1 = XEXP (x0, 0);
  goto L525;

 L6981: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x86_64_nonmemory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6982;
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L6982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 10536 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 579;  /* *btdi */
    }
  x1 = XEXP (x0, 0);
  goto L525;

 L526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case QImode:
      goto L28947;
    case HImode:
      goto L28948;
    default:
      break;
    }
  goto L7636;

 L28947: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L1872;
    }
 L28949: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L544;
    }
  goto L7636;

 L1872: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode)
    goto L28951;
 L527: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x1, QImode))
    {
      operands[1] = x1;
      goto L528;
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L28949;

 L28951: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L1873;
    case MINUS:
      goto L2393;
    case AND:
      goto L3931;
    case IOR:
      goto L4351;
    case XOR:
      goto L4367;
    case ASHIFT:
      goto L5710;
    case LSHIFTRT:
      goto L6276;
    case ASHIFTRT:
      goto L6292;
    case ROTATE:
      goto L6895;
    case ROTATERT:
      goto L6911;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case GEU:
    case GTU:
    case LEU:
    case LTU:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L28961;
    default:
      goto L527;
   }
 L28961: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x1, QImode))
    {
      operands[1] = x1;
      goto L7015;
    }
  goto L527;

 L1873: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L1874;
  goto L527;

 L1874: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L1875;
    }
  goto L527;

 L1875: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5746 "../../gcc/config/i386/i386.md"
((! TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 255;  /* *addqi_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L2393: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L2394;
  goto L527;

 L2394: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L2395;
    }
  goto L527;

 L2395: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6436 "../../gcc/config/i386/i386.md"
((! TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 289;  /* *subqi_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L3931: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L3932;
  goto L527;

 L3932: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L3933;
    }
  goto L527;

 L3933: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7871 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 372;  /* *andqi_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L4351: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L4352;
  goto L527;

 L4352: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L4353;
    }
  goto L527;

 L4353: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8233 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 397;  /* *iorqi_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L4367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L4368;
  goto L527;

 L4368: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L4369;
    }
  goto L527;

 L4369: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8233 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1])))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 398;  /* *xorqi_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L5710: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L5711;
  goto L527;

 L5711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L5712;
    }
  goto L527;

 L5712: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9354 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[1] == const1_rtx
	&& (TARGET_SHIFT1
	    || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0]))))))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 493;  /* *ashlqi3_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L6276: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L6277;
  goto L527;

 L6277: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L6278;
    }
  goto L527;

 L6278: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9887 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 532;  /* *lshrqi3_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L6292: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L6293;
  goto L527;

 L6293: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L6294;
    }
  goto L527;

 L6294: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9887 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 533;  /* *ashrqi3_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L6895: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L6896;
  goto L527;

 L6896: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L6897;
    }
  goto L527;

 L6897: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10285 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 573;  /* *rotlqi3_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L6911: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L6912;
  goto L527;

 L6912: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L6913;
    }
  goto L527;

 L6913: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10285 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1)))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 574;  /* *rotrqi3_1_slp */
    }
  x1 = XEXP (x0, 1);
  goto L527;

 L7015: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7016;
  goto L527;

 L7016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    {
      return 584;  /* *setcc_qi_slp */
    }
  goto L527;

 L528: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2416 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 81;  /* *movstrictqi_1 */
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L28949;

 L544: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const0_operand (x1, QImode))
    {
      operands[1] = x1;
      goto L545;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L545: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2426 "../../gcc/config/i386/i386.md"
(reload_completed)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 83;  /* *movstrictqi_xor */
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L28948: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L532;
    }
 L28950: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L556;
    }
  goto L7636;

 L532: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, HImode))
    {
      operands[1] = x1;
      goto L533;
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L28950;

 L533: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2416 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 82;  /* *movstricthi_1 */
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L28950;

 L556: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const0_operand (x1, HImode))
    {
      operands[1] = x1;
      goto L557;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L557: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2426 "../../gcc/config/i386/i386.md"
(reload_completed)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 84;  /* *movstricthi_xor */
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L7421: ATTRIBUTE_UNUSED_LABEL
  tem = recog_8 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L7636;

 L2240: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L2241;
    case IOR:
      goto L2267;
    case XOR:
      goto L2275;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2241: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L2258;
    case MULT:
      goto L2250;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2258: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == MULT)
    goto L2259;
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L2243;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2259: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (index_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L2260;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2260: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const248_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L2261;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2261: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L2262;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2262: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, VOIDmode))
    {
      operands[4] = x2;
      goto L2263;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2263: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6307 "../../gcc/config/i386/i386.md"
((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && GET_MODE (operands[0]) == GET_MODE (operands[3])))
    {
      return 279;  /* *lea_general_3 */
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2243: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L2244;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2244: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L2245;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2245: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6244 "../../gcc/config/i386/i386.md"
((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && GET_MODE (operands[0]) == GET_MODE (operands[2])
   && (GET_MODE (operands[0]) == GET_MODE (operands[3])
       || GET_MODE (operands[3]) == VOIDmode)))
    {
      return 277;  /* *lea_general_1 */
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2250: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L2251;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2251: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const248_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L2252;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L2253;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2253: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6276 "../../gcc/config/i386/i386.md"
((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && (GET_MODE (operands[0]) == GET_MODE (operands[3])
       || GET_MODE (operands[3]) == VOIDmode)))
    {
      return 278;  /* *lea_general_2 */
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == ASHIFT)
    goto L2268;
  x1 = XEXP (x0, 0);
  goto L7636;

 L2268: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L2269;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2269: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L2270;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2270: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L2271;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2271: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6342 "../../gcc/config/i386/i386.md"
((((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
      && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    || GET_MODE (operands[0]) == SImode
    || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[2])) - 1 < 3
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < ((unsigned HOST_WIDE_INT) 1 << INTVAL (operands[2])))))
    {
      return 280;  /* *lea_general_4 */
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == ASHIFT)
    goto L2276;
  x1 = XEXP (x0, 0);
  goto L7636;

 L2276: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L2277;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2277: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L2278;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2278: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L2279;
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L2279: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6342 "../../gcc/config/i386/i386.md"
((((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
      && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    || GET_MODE (operands[0]) == SImode
    || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[2])) - 1 < 3
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < ((unsigned HOST_WIDE_INT) 1 << INTVAL (operands[2])))))
    {
      return 281;  /* *lea_general_4 */
    }
  x1 = XEXP (x0, 0);
  goto L7636;

 L7821: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == BLKmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 16)
    goto L7822;
  if (GET_CODE (x1) == CALL)
    goto L7638;
  x1 = XEXP (x0, 0);
  goto L7854;

 L7822: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (rtx_equal_p (x2, operands[0]))
    {
      return 636;  /* *memory_blockage */
    }
  x1 = XEXP (x0, 0);
  goto L7854;

 L7638: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L7639;
  x1 = XEXP (x0, 0);
  goto L7854;

 L7639: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L28975;
    case DImode:
      goto L28976;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L7854;

 L28975: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L7640;
    }
 L28977: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L7674;
    }
  x1 = XEXP (x0, 0);
  goto L7854;

 L7640: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  goto L7641;

 L7641: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11459 "../../gcc/config/i386/i386.md"
(!SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 623;  /* *call_value */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L28977;

 L7674: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  goto L7675;

 L7675: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11480 "../../gcc/config/i386/i386.md"
(SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 627;  /* *sibcall_value */
    }
  x1 = XEXP (x0, 0);
  goto L7854;

 L28976: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L7647;
    }
 L28978: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L7681;
    }
  x1 = XEXP (x0, 0);
  goto L7854;

 L7647: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  goto L7648;

 L7648: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11459 "../../gcc/config/i386/i386.md"
(!SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 624;  /* *call_value */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L28978;

 L7681: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  goto L7682;

 L7682: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11480 "../../gcc/config/i386/i386.md"
(SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 628;  /* *sibcall_value */
    }
  x1 = XEXP (x0, 0);
  goto L7854;

 L28505: ATTRIBUTE_UNUSED_LABEL
  tem = recog_10 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L8756;

 L28506: ATTRIBUTE_UNUSED_LABEL
  tem = recog_11 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L8756;

 L28507: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L7959;
    }
 L28517: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L9749;
    }
 L28519: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L9804;
    }
  goto L8756;

 L7959: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode)
    goto L29174;
  x1 = XEXP (x0, 0);
  goto L28517;

 L29174: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case CTZ:
      goto L7960;
    case CLZ:
      goto L7996;
    case MINUS:
      goto L8642;
    case POPCOUNT:
      goto L8656;
    case UNSPEC:
      goto L29182;
    case IF_THEN_ELSE:
      goto L10798;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28517;

 L7960: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L7961;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L7961: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 657;  /* ctzhi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L7996: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L7997;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L7997: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12070 "../../gcc/config/i386/i386.md"
(TARGET_LZCNT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 660;  /* clzhi2_lzcnt */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L8642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L8643;
  x1 = XEXP (x0, 0);
  goto L28517;

 L8643: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == CLZ)
    goto L8644;
  x1 = XEXP (x0, 0);
  goto L28517;

 L8644: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L8645;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L8645: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 701;  /* *bsrhi */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L8656: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L8657;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L8657: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12349 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 702;  /* popcounthi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L29182: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L29185;
  x1 = XEXP (x0, 0);
  goto L28517;

 L29185: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 54L:
      goto L9740;
    case 57L:
      goto L10120;
    case 75L:
      goto L10135;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L9740: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9741;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L9741: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14747 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
    {
      return 815;  /* *fisthi2_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10120: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L29188;
    case DFmode:
      goto L29189;
    case XFmode:
      goto L29190;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L29188: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L10121;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10121: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15512 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 847;  /* fxamsf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L29189: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L10126;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10126: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15512 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 848;  /* fxamdf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L29190: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L10131;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10131: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15512 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 849;  /* fxamxf2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10135: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L29191;
    case DFmode:
      goto L29192;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L29191: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L10136;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10136: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15524 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
    {
      return 850;  /* fxamsf2_i387_with_temp */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L29192: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L10141;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10141: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15524 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
    {
      return 851;  /* fxamdf2_i387_with_temp */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10798: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10799;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10799: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10800;
  x1 = XEXP (x0, 0);
  goto L28517;

 L10800: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10801;
  x1 = XEXP (x0, 0);
  goto L28517;

 L10801: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10802;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10802: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10803;
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L10803: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16405 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 890;  /* *movhicc_noc */
    }
  x1 = XEXP (x0, 0);
  goto L28517;

 L9749: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 54)
    goto L9750;
  x1 = XEXP (x0, 0);
  goto L28519;

 L9750: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9751;
    }
  x1 = XEXP (x0, 0);
  goto L28519;

 L9751: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14765 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 817;  /* fisthi2 */
    }
  x1 = XEXP (x0, 0);
  goto L28519;

 L9804: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode)
    goto L29193;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29193: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L29195;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29195: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L29197;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29197: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 62L:
      goto L9805;
    case 63L:
      goto L9955;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9805: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9806;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9806: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 823;  /* *fisthi2_floor_1 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9955: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9956;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9956: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ())
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 834;  /* *fisthi2_ceil_1 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L28512: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L8787;
  goto L8756;

 L8787: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 26)
    goto L8788;
  x1 = XEXP (x0, 0);
  goto L8756;

 L8788: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case DImode:
      goto L29199;
    case SImode:
      goto L29200;
    case HImode:
      goto L29201;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29199: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L8789;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L8789: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12515 "../../gcc/config/i386/i386.md"
(! TARGET_POPCNT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 3;
      return 715;  /* paritydi2_cmp */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29200: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L8804;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L8804: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12545 "../../gcc/config/i386/i386.md"
(! TARGET_POPCNT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 716;  /* paritysi2_cmp */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29201: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L8817;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L8817: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12568 "../../gcc/config/i386/i386.md"
(! TARGET_POPCNT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 717;  /* *parityhi2_cmp */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L28513: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L9081;
    }
  goto L8756;

 L9081: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode)
    goto L29203;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29203: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L29213;
    case SQRT:
      goto L9353;
    case IF_THEN_ELSE:
      goto L10870;
    case SMAX:
      goto L10884;
    case SMIN:
      goto L10890;
    case PLUS:
    case MINUS:
    case MULT:
    case DIV:
      goto L29202;
    default:
      x1 = XEXP (x0, 0);
      goto L8756;
   }
 L29202: ATTRIBUTE_UNUSED_LABEL
  if (binary_fp_operator (x1, SFmode))
    {
      operands[3] = x1;
      goto L9082;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29213: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29219;
    case 2:
      goto L29222;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29219: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 42L:
      goto L9130;
    case 32L:
      goto L9321;
    case 43L:
      goto L9348;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9130: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L9131;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9131: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13050 "../../gcc/config/i386/i386.md"
(TARGET_SSE_MATH))
    {
      return 745;  /* *rcpsf2_sse */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9321: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9322;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9322: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13363 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 773;  /* truncxfsf2_i387_noop_unspec */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9348: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L9349;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9349: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13396 "../../gcc/config/i386/i386.md"
(TARGET_SSE_MATH))
    {
      return 778;  /* *rsqrtsf2_sse */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29222: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 80L:
      goto L9687;
    case 46L:
      goto L10908;
    case 47L:
      goto L10920;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9687: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L9688;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9688: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L9689;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9689: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14593 "../../gcc/config/i386/i386.md"
(TARGET_ROUND))
    {
      return 809;  /* sse4_1_roundsf2 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10908: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L10909;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10909: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L10910;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10910: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16573 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      return 904;  /* *ieee_sminsf3 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10920: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L10921;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10921: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L10922;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10922: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16588 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      return 906;  /* *ieee_smaxsf3 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9353: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L9354;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9354: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13417 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      return 779;  /* *sqrtsf2_sse */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10870: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L10871;
    }
  if (fcmov_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10862;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10871: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L10872;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10872: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (register_operand (x2, SFmode))
    {
      operands[3] = x2;
      goto L10873;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10873: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16538 "../../gcc/config/i386/i386.md"
(TARGET_XOP))
    {
      return 898;  /* *xop_pcmov_sf */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10862: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10863;
  x1 = XEXP (x0, 0);
  goto L8756;

 L10863: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10864;
  x1 = XEXP (x0, 0);
  goto L8756;

 L10864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L10865;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10865: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[3] = x2;
      goto L10866;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10866: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16518 "../../gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_CMOVE
   && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 897;  /* *movsfcc_1_387 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10884: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L10885;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10885: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L10886;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10886: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16552 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      return 900;  /* smaxsf3 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10890: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L10891;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10891: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L10892;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10892: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16552 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      return 901;  /* sminsf3 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9082: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SFmode)
    goto L29228;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29228: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT)
    goto L9160;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L9083;
    }
 L29226: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L9136;
    }
 L29227: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L9148;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9160: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L29229;
    case SImode:
      goto L29230;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29229: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L9161;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9161: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L9162;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9162: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13103 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
   && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 750;  /* *fop_sf_2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29230: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L9175;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9175: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L9176;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9176: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13103 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
   && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 752;  /* *fop_sf_2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9083: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L9084;
    }
  x2 = XEXP (x1, 0);
  goto L29226;

 L9084: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12970 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 737;  /* *fop_sf_comm_mixed */
    }
 L9096: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12991 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 739;  /* *fop_sf_comm_sse */
    }
 L9108: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13008 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (SFmode)
   && COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 741;  /* *fop_sf_comm_i387 */
    }
 L9120: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13023 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && !COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 743;  /* *fop_sf_1_mixed */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29226;

 L9136: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode)
    goto L29232;
  x2 = XEXP (x1, 0);
  goto L29227;

 L29232: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == FLOAT)
    goto L9189;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L9137;
    }
  x2 = XEXP (x1, 0);
  goto L29227;

 L9189: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L29233;
    case SImode:
      goto L29234;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L29227;

 L29233: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L9190;
    }
  x2 = XEXP (x1, 0);
  goto L29227;

 L9190: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13123 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
   && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 754;  /* *fop_sf_3_i387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29227;

 L29234: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L9204;
    }
  x2 = XEXP (x1, 0);
  goto L29227;

 L9204: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13123 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
   && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 756;  /* *fop_sf_3_i387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29227;

 L9137: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13062 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && !COMMUTATIVE_ARITH_P (operands[3])))
    {
      return 746;  /* *fop_sf_1_sse */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29227;

 L9148: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L9149;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9149: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13082 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (SFmode)
   && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   && !COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 748;  /* *fop_sf_1_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L28514: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L9087;
    }
  goto L8756;

 L9087: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode)
    goto L29236;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29236: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L29244;
    case SQRT:
      goto L9358;
    case IF_THEN_ELSE:
      goto L10877;
    case SMAX:
      goto L10896;
    case SMIN:
      goto L10902;
    case PLUS:
    case MINUS:
    case MULT:
    case DIV:
      goto L29235;
    default:
      x1 = XEXP (x0, 0);
      goto L8756;
   }
 L29235: ATTRIBUTE_UNUSED_LABEL
  if (binary_fp_operator (x1, DFmode))
    {
      operands[3] = x1;
      goto L9088;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29244: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29248;
    case 2:
      goto L29249;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29248: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 32)
    goto L9326;
  x1 = XEXP (x0, 0);
  goto L8756;

 L9326: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9327;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9327: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13363 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 774;  /* truncxfdf2_i387_noop_unspec */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29249: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 80L:
      goto L9693;
    case 46L:
      goto L10914;
    case 47L:
      goto L10926;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9693: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L9694;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9694: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_15_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L9695;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9695: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14593 "../../gcc/config/i386/i386.md"
(TARGET_ROUND))
    {
      return 810;  /* sse4_1_rounddf2 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10914: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L10915;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10915: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L10916;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10916: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16573 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 905;  /* *ieee_smindf3 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10926: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L10927;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10927: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L10928;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10928: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16588 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 907;  /* *ieee_smaxdf3 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L9359;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9359: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13417 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 780;  /* *sqrtdf2_sse */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10877: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L10878;
    }
  if (fcmov_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10844;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10878: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L10879;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10879: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (register_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L10880;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10880: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16538 "../../gcc/config/i386/i386.md"
(TARGET_XOP))
    {
      return 899;  /* *xop_pcmov_df */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10844: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10845;
  x1 = XEXP (x0, 0);
  goto L8756;

 L10845: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10846;
  x1 = XEXP (x0, 0);
  goto L8756;

 L10846: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L10847;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10847: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L10848;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10848: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16470 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_80387 && TARGET_CMOVE
   && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 895;  /* *movdfcc_1_rex64 */
    }
 L10857: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16486 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_80387 && TARGET_CMOVE
   && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 896;  /* *movdfcc_1 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10896: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L10897;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10897: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L10898;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10898: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16552 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 902;  /* smaxdf3 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10902: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L10903;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10903: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L10904;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10904: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16552 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 903;  /* smindf3 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9088: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L29255;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29255: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT:
      goto L9167;
    case FLOAT_EXTEND:
      goto L9216;
    case REG:
    case SUBREG:
    case MEM:
      goto L29252;
    default:
      goto L29253;
   }
 L29252: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L9089;
    }
 L29253: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L9142;
    }
 L29254: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L9154;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9167: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L29257;
    case SImode:
      goto L29258;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29257: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L9168;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9168: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L9169;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9169: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13103 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
   && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 751;  /* *fop_df_2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29258: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L9182;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9182: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L9183;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9183: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13103 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
   && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 753;  /* *fop_df_2_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9216: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SFmode)
    goto L29259;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29259: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9217;
    }
 L29260: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L9231;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9217: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L9218;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L29260;

 L9218: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13143 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (DFmode)
   && !(TARGET_SSE2 && TARGET_SSE_MATH)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 758;  /* *fop_df_4_i387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L29260;

 L9231: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == FLOAT_EXTEND)
    goto L9232;
  x1 = XEXP (x0, 0);
  goto L8756;

 L9232: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L9233;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9233: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13181 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (DFmode)
   && !(TARGET_SSE2 && TARGET_SSE_MATH)))
    {
      return 760;  /* *fop_df_6_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9089: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L9090;
    }
  x2 = XEXP (x1, 0);
  goto L29253;

 L9090: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12970 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 738;  /* *fop_df_comm_mixed */
    }
 L9102: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12991 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 740;  /* *fop_df_comm_sse */
    }
 L9114: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13008 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (DFmode)
   && COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 742;  /* *fop_df_comm_i387 */
    }
 L9126: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13023 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && !COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 744;  /* *fop_df_1_mixed */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29253;

 L9142: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode)
    goto L29262;
  x2 = XEXP (x1, 0);
  goto L29254;

 L29262: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT:
      goto L9196;
    case FLOAT_EXTEND:
      goto L9224;
    case REG:
    case SUBREG:
    case MEM:
      goto L29261;
    default:
      x2 = XEXP (x1, 0);
      goto L29254;
   }
 L29261: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L9143;
    }
  x2 = XEXP (x1, 0);
  goto L29254;

 L9196: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L29264;
    case SImode:
      goto L29265;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L29254;

 L29264: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L9197;
    }
  x2 = XEXP (x1, 0);
  goto L29254;

 L9197: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13123 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
   && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 755;  /* *fop_df_3_i387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29254;

 L29265: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L9211;
    }
  x2 = XEXP (x1, 0);
  goto L29254;

 L9211: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13123 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
   && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))))
    {
      return 757;  /* *fop_df_3_i387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29254;

 L9224: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L9225;
    }
  x2 = XEXP (x1, 0);
  goto L29254;

 L9225: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13162 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (DFmode)
   && !(TARGET_SSE2 && TARGET_SSE_MATH)))
    {
      return 759;  /* *fop_df_5_i387 */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29254;

 L9143: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13062 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && !COMMUTATIVE_ARITH_P (operands[3])))
    {
      return 747;  /* *fop_df_1_sse */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29254;

 L9154: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L9155;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L9155: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13082 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (DFmode)
   && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   && !COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 749;  /* *fop_df_1_i387 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L28515: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, XFmode))
    {
      operands[0] = x1;
      goto L9236;
    }
  goto L8756;

 L9236: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == XFmode)
    goto L29267;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29267: ATTRIBUTE_UNUSED_LABEL
  tem = recog_12 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L8756;

 L28520: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L10824;
    }
  goto L8756;

 L10824: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode
      && GET_CODE (x1) == IF_THEN_ELSE)
    goto L10825;
  x1 = XEXP (x0, 0);
  goto L8756;

 L10825: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L10826;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10826: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L10827;
  x1 = XEXP (x0, 0);
  goto L8756;

 L10827: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10828;
  x1 = XEXP (x0, 0);
  goto L8756;

 L10828: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L10829;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10829: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (register_operand (x2, QImode))
    {
      operands[3] = x2;
      goto L10830;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L10830: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16418 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
    {
      return 893;  /* *movqicc_noc */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L28521: ATTRIBUTE_UNUSED_LABEL
  if (flags_reg_operand (x1, CCZmode))
    {
      operands[0] = x1;
      goto L11150;
    }
  goto L8756;

 L11150: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCZmode)
    goto L29342;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29342: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L29344;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29344: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2)
    goto L29346;
  x1 = XEXP (x0, 0);
  goto L8756;

 L29346: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 77L:
      goto L11151;
    case 79L:
      goto L11181;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11151: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L29348;
    case DImode:
      goto L29349;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29348: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L11152;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11152: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11153;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11153: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17836 "../../gcc/config/i386/i386.md"
(!TARGET_HAS_BIONIC) && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 925;  /* stack_protect_test_si */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29349: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L11167;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11167: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L11168;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11168: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17836 "../../gcc/config/i386/i386.md"
(!TARGET_HAS_BIONIC) && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 926;  /* stack_protect_test_di */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11181: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L29350;
    case DImode:
      goto L29351;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29350: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L11182;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11182: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11183;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11183: ATTRIBUTE_UNUSED_LABEL
  if (
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == SImode)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 927;  /* stack_tls_protect_test_si */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29351: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L11197;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11197: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L11198;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11198: ATTRIBUTE_UNUSED_LABEL
  if (
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == DImode)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 928;  /* stack_tls_protect_test_di */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L28522: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L11298;
  goto L8756;

 L11298: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCCmode
      && GET_CODE (x1) == UNSPEC_VOLATILE
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 14)
    goto L11299;
  x1 = XEXP (x0, 0);
  goto L8756;

 L11299: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L29352;
    case DImode:
      goto L29353;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29352: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L11300;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11300: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L11301;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11301: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11302;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11302: ATTRIBUTE_UNUSED_LABEL
  if (
#line 18128 "../../gcc/config/i386/i386.md"
(TARGET_LWP))
    {
      return 945;  /* *lwp_lwpinssi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L29353: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L11307;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11307: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L11308;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11308: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11309;
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L11309: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 18128 "../../gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 946;  /* *lwp_lwpinsdi3_1 */
    }
  x1 = XEXP (x0, 0);
  goto L8756;

 L8757: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L8758;
    }
  goto L11366;

 L8758: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode
      && GET_CODE (x1) == BSWAP)
    goto L8759;
  x1 = XEXP (x0, 0);
  goto L11366;

 L8759: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 12445 "../../gcc/config/i386/i386.md"
(TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 713;  /* *bswaphi_lowpart_1 */
    }
 L8772: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x2, operands[0])
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 714;  /* bswaphi_lowpart */
    }
  x1 = XEXP (x0, 0);
  goto L11366;

 L11367: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == BLKmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 36)
    goto L11368;
  x1 = XEXP (x0, 0);
  goto L11370;

 L11368: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (rtx_equal_p (x2, operands[0]))
    {
      return 958;  /* *pause */
    }
  x1 = XEXP (x0, 0);
  goto L11370;

 L28537: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == MEM)
    goto L12176;
 L28523: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V8QImode))
    {
      operands[0] = x1;
      goto L11371;
    }
 L28532: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V8QImode))
    {
      operands[0] = x1;
      goto L11610;
    }
  goto L23207;

 L12176: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L29354;
    case DImode:
      goto L29355;
    default:
      break;
    }
  goto L28523;

 L29354: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L12177;
    }
  goto L28523;

 L12177: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8QImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 40)
    goto L12178;
  x1 = XEXP (x0, 0);
  goto L28523;

 L12178: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L12179;
    }
  x1 = XEXP (x0, 0);
  goto L28523;

 L12179: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L12180;
    }
  x1 = XEXP (x0, 0);
  goto L28523;

 L12180: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == V8QImode
      && GET_CODE (x2) == MEM)
    goto L12181;
  x1 = XEXP (x0, 0);
  goto L28523;

 L12181: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0])
      && (
#line 1664 "../../gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1071;  /* *mmx_maskmovq */
    }
  x1 = XEXP (x0, 0);
  goto L28523;

 L29355: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L12185;
    }
  goto L28523;

 L12185: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8QImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 40)
    goto L12186;
  x1 = XEXP (x0, 0);
  goto L28523;

 L12186: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L12187;
    }
  x1 = XEXP (x0, 0);
  goto L28523;

 L12187: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L12188;
    }
  x1 = XEXP (x0, 0);
  goto L28523;

 L12188: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == V8QImode
      && GET_CODE (x2) == MEM)
    goto L12189;
  x1 = XEXP (x0, 0);
  goto L28523;

 L12189: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0])
      && (
#line 1664 "../../gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1072;  /* *mmx_maskmovq */
    }
  x1 = XEXP (x0, 0);
  goto L28523;

 L11371: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (vector_move_operand (x1, V8QImode))
    {
      operands[1] = x1;
      goto L11372;
    }
  x1 = XEXP (x0, 0);
  goto L28532;

 L11372: ATTRIBUTE_UNUSED_LABEL
  if (
#line 86 "../../gcc/config/i386/mmx.md"
(TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 959;  /* *movv8qi_internal_rex64 */
    }
 L11388: ATTRIBUTE_UNUSED_LABEL
  if (
#line 142 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 963;  /* *movv8qi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28532;

 L11610: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8QImode)
    goto L29356;
  x1 = XEXP (x0, 0);
  goto L23207;

 L29356: ATTRIBUTE_UNUSED_LABEL
  tem = recog_13 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L23207;

 L28524: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4HImode))
    {
      operands[0] = x1;
      goto L11375;
    }
 L28533: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4HImode))
    {
      operands[0] = x1;
      goto L11622;
    }
 L28599: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V4HImode))
    {
      operands[0] = x1;
      goto L21020;
    }
  goto L23207;

 L11375: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (vector_move_operand (x1, V4HImode))
    {
      operands[1] = x1;
      goto L11376;
    }
  x1 = XEXP (x0, 0);
  goto L28533;

 L11376: ATTRIBUTE_UNUSED_LABEL
  if (
#line 86 "../../gcc/config/i386/mmx.md"
(TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 960;  /* *movv4hi_internal_rex64 */
    }
 L11392: ATTRIBUTE_UNUSED_LABEL
  if (
#line 142 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 964;  /* *movv4hi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28533;

 L11622: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4HImode)
    goto L29385;
  x1 = XEXP (x0, 0);
  goto L28599;

 L29385: ATTRIBUTE_UNUSED_LABEL
  tem = recog_15 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28599;

 L21020: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4HImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 130)
    goto L21021;
  x1 = XEXP (x0, 0);
  goto L23207;

 L21021: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L21022;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L21022: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L21023;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L21023: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12525 "../../gcc/config/i386/sse.md"
(TARGET_F16C))
    {
      return 1934;  /* *vcvtps2ph_store */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28525: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2SImode))
    {
      operands[0] = x1;
      goto L11379;
    }
 L28530: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V2SImode))
    {
      operands[0] = x1;
      goto L11538;
    }
  goto L23207;

 L11379: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (vector_move_operand (x1, V2SImode))
    {
      operands[1] = x1;
      goto L11380;
    }
  x1 = XEXP (x0, 0);
  goto L28530;

 L11380: ATTRIBUTE_UNUSED_LABEL
  if (
#line 86 "../../gcc/config/i386/mmx.md"
(TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 961;  /* *movv2si_internal_rex64 */
    }
 L11396: ATTRIBUTE_UNUSED_LABEL
  if (
#line 142 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 965;  /* *movv2si_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28530;

 L11538: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2SImode)
    goto L29431;
  x1 = XEXP (x0, 0);
  goto L23207;

 L29431: ATTRIBUTE_UNUSED_LABEL
  tem = recog_16 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L23207;

 L28526: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V1DImode))
    {
      operands[0] = x1;
      goto L11383;
    }
 L28534: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V1DImode))
    {
      operands[0] = x1;
      goto L11646;
    }
  goto L23207;

 L11383: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (vector_move_operand (x1, V1DImode))
    {
      operands[1] = x1;
      goto L11384;
    }
  x1 = XEXP (x0, 0);
  goto L28534;

 L11384: ATTRIBUTE_UNUSED_LABEL
  if (
#line 86 "../../gcc/config/i386/mmx.md"
(TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 962;  /* *movv1di_internal_rex64 */
    }
 L11400: ATTRIBUTE_UNUSED_LABEL
  if (
#line 142 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 966;  /* *movv1di_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28534;

 L11646: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V1DImode)
    goto L29474;
  x1 = XEXP (x0, 0);
  goto L23207;

 L29474: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L11647;
    case MINUS:
      goto L11653;
    case MULT:
      goto L11778;
    case ASHIFT:
      goto L11851;
    case LSHIFTRT:
      goto L11857;
    case UNSPEC:
      goto L29480;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11647: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V1DImode))
    {
      operands[1] = x2;
      goto L11648;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11648: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V1DImode))
    {
      operands[2] = x2;
      goto L11649;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11649: ATTRIBUTE_UNUSED_LABEL
  if (
#line 794 "../../gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V1DImode == V1DImode))
   && ix86_binary_operator_ok (PLUS, V1DImode, operands)))
    {
      return 1003;  /* *mmx_addv1di3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V1DImode))
    {
      operands[1] = x2;
      goto L11654;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11654: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V1DImode))
    {
      operands[2] = x2;
      goto L11655;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11655: ATTRIBUTE_UNUSED_LABEL
  if (
#line 794 "../../gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V1DImode == V1DImode))
   && ix86_binary_operator_ok (MINUS, V1DImode, operands)))
    {
      return 1004;  /* *mmx_subv1di3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11778: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V1DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L11779;
  x1 = XEXP (x0, 0);
  goto L23207;

 L11779: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V1SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11780;
  x1 = XEXP (x0, 0);
  goto L23207;

 L11780: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SImode))
    {
      operands[1] = x4;
      goto L11781;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11781: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11782;
  x1 = XEXP (x0, 0);
  goto L23207;

 L11782: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11783;
  x1 = XEXP (x0, 0);
  goto L23207;

 L11783: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V1DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L11784;
  x1 = XEXP (x0, 0);
  goto L23207;

 L11784: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V1SImode
      && GET_CODE (x3) == VEC_SELECT)
    goto L11785;
  x1 = XEXP (x0, 0);
  goto L23207;

 L11785: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2SImode))
    {
      operands[2] = x4;
      goto L11786;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11786: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == PARALLEL
      && XVECLEN (x4, 0) == 1)
    goto L11787;
  x1 = XEXP (x0, 0);
  goto L23207;

 L11787: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 997 "../../gcc/config/i386/mmx.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V2SImode, operands)))
    {
      return 1018;  /* *sse2_umulv1siv1di3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11851: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V1DImode))
    {
      operands[1] = x2;
      goto L11852;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11852: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11853;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11853: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1059 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1029;  /* mmx_ashlv1di3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11857: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V1DImode))
    {
      operands[1] = x2;
      goto L11858;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11858: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11859;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L11859: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1059 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1030;  /* mmx_lshrv1di3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L29480: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 44)
    goto L12166;
  x1 = XEXP (x0, 0);
  goto L23207;

 L12166: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8QImode))
    {
      operands[1] = x2;
      goto L12167;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L12167: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8QImode))
    {
      operands[2] = x2;
      goto L12168;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L12168: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1636 "../../gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
    {
      return 1069;  /* mmx_psadbw */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28527: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2SFmode))
    {
      operands[0] = x1;
      goto L14403;
    }
 L28529: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V2SFmode))
    {
      operands[0] = x1;
      goto L11416;
    }
  goto L23207;

 L14403: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2SFmode
      && GET_CODE (x1) == VEC_SELECT)
    goto L14404;
  if (vector_move_operand (x1, V2SFmode))
    {
      operands[1] = x1;
      goto L11404;
    }
  x1 = XEXP (x0, 0);
  goto L28529;

 L14404: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14405;
    }
  x1 = XEXP (x0, 0);
  goto L28529;

 L14405: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L14406;
  x1 = XEXP (x0, 0);
  goto L28529;

 L14406: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29481;
  x1 = XEXP (x0, 0);
  goto L28529;

 L29481: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 2L:
        goto L14407;
      case 0L:
        goto L14424;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28529;

 L14407: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 3611 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1342;  /* sse_storehps */
    }
  x1 = XEXP (x0, 0);
  goto L28529;

 L14424: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 3664 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1344;  /* sse_storelps */
    }
  x1 = XEXP (x0, 0);
  goto L28529;

 L11404: ATTRIBUTE_UNUSED_LABEL
  if (
#line 218 "../../gcc/config/i386/mmx.md"
(TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 967;  /* *movv2sf_internal_rex64 */
    }
 L11408: ATTRIBUTE_UNUSED_LABEL
  if (
#line 273 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 968;  /* *movv2sf_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28529;

 L11416: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2SFmode)
    goto L29483;
  x1 = XEXP (x0, 0);
  goto L23207;

 L29483: ATTRIBUTE_UNUSED_LABEL
  tem = recog_17 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L23207;

 L28528: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L11411;
    }
 L28573: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L13997;
    }
 L28584: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L16252;
    }
  goto L23207;

 L11411: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L29517;
  x1 = XEXP (x0, 0);
  goto L28573;

 L29517: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L29519;
  x1 = XEXP (x0, 0);
  goto L28573;

 L29519: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L29521;
  x1 = XEXP (x0, 0);
  goto L28573;

 L29521: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 85L:
      goto L11412;
    case 91L:
      goto L12351;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28573;

 L11412: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L11413;
    }
  x1 = XEXP (x0, 0);
  goto L28573;

 L11413: ATTRIBUTE_UNUSED_LABEL
  if (
#line 350 "../../gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
    {
      return 969;  /* sse_movntq */
    }
  x1 = XEXP (x0, 0);
  goto L28573;

 L12351: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L12352;
    }
  x1 = XEXP (x0, 0);
  goto L28573;

 L12352: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 665 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 1106;  /* sse2_movntidi */
    }
  x1 = XEXP (x0, 0);
  goto L28573;

 L13997: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L29523;
  x1 = XEXP (x0, 0);
  goto L28584;

 L29523: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L29527;
    case FIX:
      goto L14017;
    case ZERO_EXTEND:
      goto L16200;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29527: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L29529;
    case 3:
      goto L29530;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29529: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 39)
    goto L13998;
  x1 = XEXP (x0, 0);
  goto L28584;

 L13998: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L29531;
    case DFmode:
      goto L29533;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29531: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L13999;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L14006;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L13999: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14000;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L14000: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14001;
  x1 = XEXP (x0, 0);
  goto L28584;

 L14001: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 2179 "../../gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT))
    {
      return 1292;  /* sse_cvtss2siq */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L14006: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2192 "../../gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT))
    {
      return 1293;  /* sse_cvtss2siq_2 */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29533: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14098;
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L14105;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L14098: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14099;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L14099: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14100;
  x1 = XEXP (x0, 0);
  goto L28584;

 L14100: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 2438 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT))
    {
      return 1309;  /* sse2_cvtsd2siq */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L14105: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2451 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT))
    {
      return 1310;  /* sse2_cvtsd2siq_2 */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29530: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 97)
    goto L18394;
  x1 = XEXP (x0, 0);
  goto L28584;

 L18394: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L18395;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L18395: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L18396;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L18396: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_mul_8_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18397;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L18397: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9334 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1649;  /* ssse3_palignrdi */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L14017: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L29535;
    case DFmode:
      goto L29536;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29535: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14018;
  x1 = XEXP (x0, 0);
  goto L28584;

 L14018: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14019;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L14019: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14020;
  x1 = XEXP (x0, 0);
  goto L28584;

 L14020: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 2224 "../../gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT))
    {
      return 1295;  /* sse_cvttss2siq */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29536: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14117;
  x1 = XEXP (x0, 0);
  goto L28584;

 L14117: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14118;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L14118: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14119;
  x1 = XEXP (x0, 0);
  goto L28584;

 L14119: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 2483 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT))
    {
      return 1312;  /* sse2_cvttsd2siq */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L16200: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case QImode:
      goto L29537;
    case HImode:
      goto L29538;
    case SImode:
      goto L29539;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29537: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L16201;
  x1 = XEXP (x0, 0);
  goto L28584;

 L16201: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L16202;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L16202: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L16203;
  x1 = XEXP (x0, 0);
  goto L28584;

 L16203: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (const_0_to_15_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L16204;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L16204: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7043 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 1562;  /* *sse4_1_pextrb_di */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29538: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L16224;
  x1 = XEXP (x0, 0);
  goto L28584;

 L16224: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V8HImode))
    {
      operands[1] = x3;
      goto L16225;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L16225: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L16226;
  x1 = XEXP (x0, 0);
  goto L28584;

 L16226: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (const_0_to_7_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L16227;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L16227: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7070 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 1565;  /* *sse2_pextrw_di */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L29539: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L16246;
  x1 = XEXP (x0, 0);
  goto L28584;

 L16246: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SImode))
    {
      operands[1] = x3;
      goto L16247;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L16247: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L16248;
  x1 = XEXP (x0, 0);
  goto L28584;

 L16248: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (const_0_to_3_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L16249;
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L16249: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7110 "../../gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE4_1))
    {
      return 1568;  /* *sse4_1_pextrd_zext */
    }
  x1 = XEXP (x0, 0);
  goto L28584;

 L16252: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L16253;
  x1 = XEXP (x0, 0);
  goto L23207;

 L16253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DImode)
    goto L29540;
  x1 = XEXP (x0, 0);
  goto L23207;

 L29540: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L16254;
    }
 L29541: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L16374;
    }
 L29542: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L16380;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L16254: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L16255;
  x2 = XEXP (x1, 0);
  goto L29541;

 L16255: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_1_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L16256;
    }
  x2 = XEXP (x1, 0);
  goto L29541;

 L16256: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7124 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_64BIT))
    {
      return 1569;  /* *sse4_1_pextrq */
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L29541;

 L16374: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L16375;
  x2 = XEXP (x1, 0);
  goto L29542;

 L16375: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29543;
  x2 = XEXP (x1, 0);
  goto L29542;

 L29543: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 0L:
        goto L29546;
      case 1L:
        goto L29547;
      default:
        break;
      }
  x2 = XEXP (x1, 0);
  goto L29542;

 L29546: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7503 "../../gcc/config/i386/sse.md"
(TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1579;  /* *sse2_storeq_rex64 */
    }
  x2 = XEXP (x1, 0);
  goto L29542;

 L29547: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7537 "../../gcc/config/i386/sse.md"
(TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1581;  /* *vec_extractv2di_1_rex64 */
    }
 L29548: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7556 "../../gcc/config/i386/sse.md"
(!TARGET_64BIT && TARGET_SSE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1582;  /* *vec_extractv2di_1 */
    }
  x2 = XEXP (x1, 0);
  goto L29542;

 L16380: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L16381;
  x1 = XEXP (x0, 0);
  goto L23207;

 L16381: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7516 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1580;  /* *sse2_storeq */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28531: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L11598;
    }
 L28571: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L13483;
    }
 L28588: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L18445;
    }
  goto L23207;

 L11598: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode
      && GET_CODE (x1) == VEC_SELECT)
    goto L11599;
  x1 = XEXP (x0, 0);
  goto L28571;

 L11599: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2SFmode:
      goto L29549;
    case V4SFmode:
      goto L29550;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28571;

 L29549: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L11600;
    }
  x1 = XEXP (x0, 0);
  goto L28571;

 L11600: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L11601;
  x1 = XEXP (x0, 0);
  goto L28571;

 L11601: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L29552;
  x1 = XEXP (x0, 0);
  goto L28571;

 L29552: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 0L:
        goto L29554;
      case 1L:
        goto L29555;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28571;

 L29554: ATTRIBUTE_UNUSED_LABEL
  if (
#line 710 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 995;  /* *vec_extractv2sf_0 */
    }
  x1 = XEXP (x0, 0);
  goto L28571;

 L29555: ATTRIBUTE_UNUSED_LABEL
  if (
#line 731 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 996;  /* *vec_extractv2sf_1 */
    }
  x1 = XEXP (x0, 0);
  goto L28571;

 L29550: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14510;
    }
 L29551: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14516;
    }
  x1 = XEXP (x0, 0);
  goto L28571;

 L14510: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L14511;
  x2 = XEXP (x1, 0);
  goto L29551;

 L14511: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 3957 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1357;  /* *vec_extractv4sf_0 */
    }
  x2 = XEXP (x1, 0);
  goto L29551;

 L14516: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L14517;
  x1 = XEXP (x0, 0);
  goto L28571;

 L14517: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L14518;
    }
  x1 = XEXP (x0, 0);
  goto L28571;

 L14518: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3976 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1358;  /* *sse4_1_extractps */
    }
  x1 = XEXP (x0, 0);
  goto L28571;

 L13483: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode)
    goto L29556;
  x1 = XEXP (x0, 0);
  goto L28588;

 L29556: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case AND:
      goto L13484;
    case IOR:
      goto L13504;
    case XOR:
      goto L13510;
    case FMA:
      goto L13534;
    case VEC_SELECT:
      goto L14522;
    case UNSPEC:
      goto L29562;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13484: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SFmode)
    goto L29563;
  x1 = XEXP (x0, 0);
  goto L28588;

 L29563: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L13485;
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L13499;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13485: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L13486;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13486: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L13487;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13487: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1656 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
    {
      return 1229;  /* *andnotsf3 */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13499: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L13500;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13500: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1688 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
    {
      return 1231;  /* *andsf3 */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13504: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L13505;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13505: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L13506;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13506: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1688 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
    {
      return 1232;  /* *iorsf3 */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13510: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L13511;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13511: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L13512;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13512: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1688 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
    {
      return 1233;  /* *xorsf3 */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13534: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SFmode)
    goto L29566;
  x1 = XEXP (x0, 0);
  goto L28588;

 L29566: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13625;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L13535;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13625: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L13626;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13626: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L13627;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13627: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == SFmode)
    goto L29568;
  x1 = XEXP (x0, 0);
  goto L28588;

 L29568: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13676;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[3] = x2;
      goto L13628;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13676: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[3] = x3;
      goto L13677;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13677: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1831 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1255;  /* *fma_fnmsub_sf */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13628: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1812 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1249;  /* *fma_fnmadd_sf */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13535: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L13536;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13536: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == SFmode)
    goto L29570;
  x1 = XEXP (x0, 0);
  goto L28588;

 L29570: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13579;
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[3] = x2;
      goto L13537;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13579: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[3] = x3;
      goto L13580;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13580: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1794 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1243;  /* *fma_fmsub_sf */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L13537: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1776 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1237;  /* *fma_fmadd_sf */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L14522: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14523;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L14523: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L14524;
  x1 = XEXP (x0, 0);
  goto L28588;

 L14524: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L14525;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L14525: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4016 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1359;  /* *vec_extract_v4sf_mem */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L29562: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 115)
    goto L20088;
  x1 = XEXP (x0, 0);
  goto L28588;

 L20088: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L20089;
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L20089: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11454 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1799;  /* xop_frczsf2 */
    }
  x1 = XEXP (x0, 0);
  goto L28588;

 L18445: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 91)
    goto L18446;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18446: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == SFmode)
    goto L29572;
  x1 = XEXP (x0, 0);
  goto L23207;

 L29572: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18457;
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L18447;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18457: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L18458;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18458: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L18459;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18459: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 9393 "../../gcc/config/i386/sse.md"
(TARGET_SSE4A))
    {
      return 1661;  /* sse4a_vmmovntv4sf */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18447: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9381 "../../gcc/config/i386/sse.md"
(TARGET_SSE4A))
    {
      return 1659;  /* sse4a_movntsf */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28535: ATTRIBUTE_UNUSED_LABEL
  tem = recog_18 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L23207;

 L28538: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V32QImode))
    {
      operands[0] = x1;
      goto L12198;
    }
 L28562: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V32QImode))
    {
      operands[0] = x1;
      goto L12315;
    }
 L28564: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V32QImode))
    {
      operands[0] = x1;
      goto L12325;
    }
 L28594: ATTRIBUTE_UNUSED_LABEL
  if (reg_not_xmm0_operand_maybe_avx (x1, V32QImode))
    {
      operands[0] = x1;
      goto L18620;
    }
  goto L23207;

 L12198: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonimmediate_or_sse_const_operand (x1, V32QImode))
    {
      operands[1] = x1;
      goto L12199;
    }
  x1 = XEXP (x0, 0);
  goto L28562;

 L12199: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V32QImode)
       || register_operand (operands[1], V32QImode))) && 
#line 103 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1075;  /* *movv32qi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28562;

 L12315: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V32QImode)
    goto L29612;
  x1 = XEXP (x0, 0);
  goto L28564;

 L29612: ATTRIBUTE_UNUSED_LABEL
  tem = recog_19 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28564;

 L12325: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V32QImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 93)
    goto L12326;
  x1 = XEXP (x0, 0);
  goto L28594;

 L12326: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L12327;
    }
  x1 = XEXP (x0, 0);
  goto L28594;

 L12327: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 628 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 164 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1101;  /* avx_storedqu256 */
    }
  x1 = XEXP (x0, 0);
  goto L28594;

 L18620: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V32QImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 102)
    goto L18621;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18621: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (reg_not_xmm0_operand_maybe_avx (x2, V32QImode))
    {
      operands[1] = x2;
      goto L18622;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18622: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimm_not_xmm0_operand_maybe_avx (x2, V32QImode))
    {
      operands[2] = x2;
      goto L18623;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18623: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (register_operand (x2, V32QImode))
    {
      operands[3] = x2;
      goto L18624;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18624: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9577 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 171 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1685;  /* avx2_pblendvb */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28586: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == MEM)
    goto L16604;
 L28539: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V16QImode))
    {
      operands[0] = x1;
      goto L14618;
    }
 L28563: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V16QImode))
    {
      operands[0] = x1;
      goto L12320;
    }
 L28565: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V16QImode))
    {
      operands[0] = x1;
      goto L12330;
    }
 L28595: ATTRIBUTE_UNUSED_LABEL
  if (reg_not_xmm0_operand_maybe_avx (x1, V16QImode))
    {
      operands[0] = x1;
      goto L18627;
    }
  goto L23207;

 L16604: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L29660;
    case DImode:
      goto L29661;
    default:
      break;
    }
  goto L28539;

 L29660: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L16605;
    }
  goto L28539;

 L16605: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16QImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 40)
    goto L16606;
  x1 = XEXP (x0, 0);
  goto L28539;

 L16606: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L16607;
    }
  x1 = XEXP (x0, 0);
  goto L28539;

 L16607: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L16608;
    }
  x1 = XEXP (x0, 0);
  goto L28539;

 L16608: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == MEM)
    goto L16609;
  x1 = XEXP (x0, 0);
  goto L28539;

 L16609: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0])
      && (
#line 8026 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1603;  /* *sse2_maskmovdqu */
    }
  x1 = XEXP (x0, 0);
  goto L28539;

 L29661: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L16613;
    }
  goto L28539;

 L16613: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16QImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 40)
    goto L16614;
  x1 = XEXP (x0, 0);
  goto L28539;

 L16614: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L16615;
    }
  x1 = XEXP (x0, 0);
  goto L28539;

 L16615: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L16616;
    }
  x1 = XEXP (x0, 0);
  goto L28539;

 L16616: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == MEM)
    goto L16617;
  x1 = XEXP (x0, 0);
  goto L28539;

 L16617: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0])
      && (
#line 8026 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1604;  /* *sse2_maskmovdqu */
    }
  x1 = XEXP (x0, 0);
  goto L28539;

 L14618: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16QImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L14619;
  if (nonimmediate_or_sse_const_operand (x1, V16QImode))
    {
      operands[1] = x1;
      goto L12203;
    }
  x1 = XEXP (x0, 0);
  goto L28563;

 L14619: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V32QImode)
    goto L29662;
  x1 = XEXP (x0, 0);
  goto L28563;

 L29662: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L14620;
    }
 L29663: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L14641;
    }
  x1 = XEXP (x0, 0);
  goto L28563;

 L14620: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 16)
    goto L14621;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14621: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14622;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14622: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14623;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14623: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14624;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14624: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L14625;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14625: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14626;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14626: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14627;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14627: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L14628;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14628: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L14629;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14629: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L14630;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14630: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L14631;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14631: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L14632;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14632: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L14633;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14633: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L14634;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14634: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L14635;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14635: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L14636;
  x2 = XEXP (x1, 0);
  goto L29663;

 L14636: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 4170 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1370;  /* vec_extract_lo_v32qi */
    }
  x2 = XEXP (x1, 0);
  goto L29663;

 L14641: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 16)
    goto L14642;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14642: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (16)])
    goto L14643;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14643: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (17)])
    goto L14644;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14644: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (18)])
    goto L14645;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14645: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (19)])
    goto L14646;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14646: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (20)])
    goto L14647;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14647: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (21)])
    goto L14648;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14648: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (22)])
    goto L14649;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14649: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (23)])
    goto L14650;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14650: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (24)])
    goto L14651;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14651: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (25)])
    goto L14652;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14652: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (26)])
    goto L14653;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14653: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (27)])
    goto L14654;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14654: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (28)])
    goto L14655;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14655: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (29)])
    goto L14656;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14656: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (30)])
    goto L14657;
  x1 = XEXP (x0, 0);
  goto L28563;

 L14657: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (31)]
      && 
#line 4196 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1371;  /* vec_extract_hi_v32qi */
    }
  x1 = XEXP (x0, 0);
  goto L28563;

 L12203: ATTRIBUTE_UNUSED_LABEL
  if (
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V16QImode)
       || register_operand (operands[1], V16QImode))))
    {
      return 1076;  /* *movv16qi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28563;

 L12320: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16QImode)
    goto L29664;
  x1 = XEXP (x0, 0);
  goto L28565;

 L29664: ATTRIBUTE_UNUSED_LABEL
  tem = recog_20 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28565;

 L12330: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16QImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 93)
    goto L12331;
  x1 = XEXP (x0, 0);
  goto L28595;

 L12331: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L12332;
    }
  x1 = XEXP (x0, 0);
  goto L28595;

 L12332: ATTRIBUTE_UNUSED_LABEL
  if (
#line 628 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1102;  /* sse2_storedqu */
    }
  x1 = XEXP (x0, 0);
  goto L28595;

 L18627: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16QImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 102)
    goto L18628;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18628: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (reg_not_xmm0_operand_maybe_avx (x2, V16QImode))
    {
      operands[1] = x2;
      goto L18629;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18629: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimm_not_xmm0_operand_maybe_avx (x2, V16QImode))
    {
      operands[2] = x2;
      goto L18630;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18630: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (register_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L18631;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18631: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9577 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1686;  /* sse4_1_pblendvb */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28540: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V16HImode))
    {
      operands[0] = x1;
      goto L12206;
    }
 L28577: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V16HImode))
    {
      operands[0] = x1;
      goto L14854;
    }
  goto L23207;

 L12206: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonimmediate_or_sse_const_operand (x1, V16HImode))
    {
      operands[1] = x1;
      goto L12207;
    }
  x1 = XEXP (x0, 0);
  goto L28577;

 L12207: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V16HImode)
       || register_operand (operands[1], V16HImode))) && 
#line 104 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1077;  /* *movv16hi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28577;

 L14854: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16HImode)
    goto L29727;
  x1 = XEXP (x0, 0);
  goto L23207;

 L29727: ATTRIBUTE_UNUSED_LABEL
  tem = recog_26 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L23207;

 L28541: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V8HImode))
    {
      operands[0] = x1;
      goto L14592;
    }
 L28578: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V8HImode))
    {
      operands[0] = x1;
      goto L14866;
    }
  goto L23207;

 L14592: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8HImode)
    goto L29785;
 L12210: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_or_sse_const_operand (x1, V8HImode))
    {
      operands[1] = x1;
      goto L12211;
    }
  x1 = XEXP (x0, 0);
  goto L28578;

 L29785: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case VEC_SELECT:
      goto L14593;
    case UNSPEC:
      goto L29787;
    default:
     break;
   }
  goto L12210;

 L14593: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V16HImode)
    goto L29788;
  goto L12210;

 L29788: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L14594;
    }
 L29789: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L14607;
    }
  goto L12210;

 L14594: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L14595;
  x2 = XEXP (x1, 0);
  goto L29789;

 L14595: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14596;
  x2 = XEXP (x1, 0);
  goto L29789;

 L14596: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14597;
  x2 = XEXP (x1, 0);
  goto L29789;

 L14597: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14598;
  x2 = XEXP (x1, 0);
  goto L29789;

 L14598: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L14599;
  x2 = XEXP (x1, 0);
  goto L29789;

 L14599: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14600;
  x2 = XEXP (x1, 0);
  goto L29789;

 L14600: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14601;
  x2 = XEXP (x1, 0);
  goto L29789;

 L14601: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L14602;
  x2 = XEXP (x1, 0);
  goto L29789;

 L14602: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 4127 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1368;  /* vec_extract_lo_v16hi */
    }
  x2 = XEXP (x1, 0);
  goto L29789;

 L14607: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L14608;
  goto L12210;

 L14608: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L14609;
  goto L12210;

 L14609: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L14610;
  goto L12210;

 L14610: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L14611;
  goto L12210;

 L14611: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L14612;
  goto L12210;

 L14612: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L14613;
  goto L12210;

 L14613: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L14614;
  goto L12210;

 L14614: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L14615;
  goto L12210;

 L14615: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && 
#line 4149 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1369;  /* vec_extract_hi_v16hi */
    }
  goto L12210;

 L29787: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 130)
    goto L21027;
  goto L12210;

 L21027: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L21028;
    }
  goto L12210;

 L21028: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L21029;
    }
  goto L12210;

 L21029: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12536 "../../gcc/config/i386/sse.md"
(TARGET_F16C))
    {
      return 1935;  /* vcvtps2ph256 */
    }
  x1 = XEXP (x0, 1);
  goto L12210;

 L12211: ATTRIBUTE_UNUSED_LABEL
  if (
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V8HImode)
       || register_operand (operands[1], V8HImode))))
    {
      return 1078;  /* *movv8hi_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28578;

 L14866: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8HImode)
    goto L29790;
  x1 = XEXP (x0, 0);
  goto L23207;

 L29790: ATTRIBUTE_UNUSED_LABEL
  tem = recog_28 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L23207;

 L28542: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V8SImode))
    {
      operands[0] = x1;
      goto L20881;
    }
 L28574: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V8SImode))
    {
      operands[0] = x1;
      goto L14033;
    }
 L28598: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V8SImode))
    {
      operands[0] = x1;
      goto L20869;
    }
  goto L23207;

 L20881: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 127)
    goto L20882;
  if (nonimmediate_or_sse_const_operand (x1, V8SImode))
    {
      operands[1] = x1;
      goto L12215;
    }
  x1 = XEXP (x0, 0);
  goto L28574;

 L20882: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20883;
    }
  x1 = XEXP (x0, 0);
  goto L28574;

 L20883: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12338 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1911;  /* avx_si256_si */
    }
  x1 = XEXP (x0, 0);
  goto L28574;

 L12215: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V8SImode)
       || register_operand (operands[1], V8SImode))) && 
#line 105 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1079;  /* *movv8si_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28574;

 L14033: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SImode)
    goto L29875;
  x1 = XEXP (x0, 0);
  goto L28598;

 L29875: ATTRIBUTE_UNUSED_LABEL
  tem = recog_31 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28598;

 L20869: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 40)
    goto L20870;
  x1 = XEXP (x0, 0);
  goto L23207;

 L20870: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L20871;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L20871: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V8SImode))
    {
      operands[2] = x2;
      goto L20872;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L20872: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (rtx_equal_p (x2, operands[0])
      && (
#line 12326 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 216 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1909;  /* avx2_maskstored256 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28543: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4SImode))
    {
      operands[0] = x1;
      goto L14479;
    }
 L28553: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4SImode))
    {
      operands[0] = x1;
      goto L12270;
    }
 L28597: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V4SImode))
    {
      operands[0] = x1;
      goto L20857;
    }
  goto L23207;

 L14479: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SImode)
    goto L29956;
 L12218: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_or_sse_const_operand (x1, V4SImode))
    {
      operands[1] = x1;
      goto L12219;
    }
  x1 = XEXP (x0, 0);
  goto L28553;

 L29956: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case VEC_MERGE:
      goto L14480;
    case VEC_SELECT:
      goto L14557;
    default:
     break;
   }
  goto L12218;

 L14480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == VEC_DUPLICATE)
    goto L14481;
  goto L12218;

 L14481: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L14482;
    }
  goto L12218;

 L14482: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L14483;
    }
  goto L12218;

 L14483: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 3834 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1353;  /* vec_setv4si_0 */
    }
  goto L12218;

 L14557: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SImode)
    goto L29958;
  goto L12218;

 L29958: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L14558;
    }
 L29959: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L14576;
    }
  goto L12218;

 L14558: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14559;
  x2 = XEXP (x1, 0);
  goto L29959;

 L14559: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14560;
  x2 = XEXP (x1, 0);
  goto L29959;

 L14560: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14561;
  x2 = XEXP (x1, 0);
  goto L29959;

 L14561: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14562;
  x2 = XEXP (x1, 0);
  goto L29959;

 L14562: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 4090 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1364;  /* vec_extract_lo_v8si */
    }
  x2 = XEXP (x1, 0);
  goto L29959;

 L14576: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14577;
  goto L12218;

 L14577: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14578;
  goto L12218;

 L14578: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14579;
  goto L12218;

 L14579: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L14580;
  goto L12218;

 L14580: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 4110 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1366;  /* vec_extract_hi_v8si */
    }
  goto L12218;

 L12219: ATTRIBUTE_UNUSED_LABEL
  if (
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4SImode)
       || register_operand (operands[1], V4SImode))))
    {
      return 1080;  /* *movv4si_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28553;

 L12270: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SImode)
    goto L29960;
  x1 = XEXP (x0, 0);
  goto L28597;

 L29960: ATTRIBUTE_UNUSED_LABEL
  tem = recog_34 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28597;

 L20857: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 40)
    goto L20858;
  x1 = XEXP (x0, 0);
  goto L23207;

 L20858: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20859;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L20859: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L20860;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L20860: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (rtx_equal_p (x2, operands[0])
      && (
#line 12326 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 215 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1907;  /* avx2_maskstored */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28544: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4DImode))
    {
      operands[0] = x1;
      goto L12222;
    }
 L28567: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V4DImode))
    {
      operands[0] = x1;
      goto L12375;
    }
 L28575: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4DImode))
    {
      operands[0] = x1;
      goto L14712;
    }
  goto L23207;

 L12222: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonimmediate_or_sse_const_operand (x1, V4DImode))
    {
      operands[1] = x1;
      goto L12223;
    }
  x1 = XEXP (x0, 0);
  goto L28567;

 L12223: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4DImode)
       || register_operand (operands[1], V4DImode))) && 
#line 106 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1081;  /* *movv4di_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28567;

 L12375: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DImode)
    goto L30079;
  x1 = XEXP (x0, 0);
  goto L28575;

 L30079: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L30081;
  x1 = XEXP (x0, 0);
  goto L28575;

 L30081: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30083;
    case 3:
      goto L30084;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28575;

 L30083: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 91)
    goto L12376;
  x1 = XEXP (x0, 0);
  goto L28575;

 L12376: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L12377;
    }
  x1 = XEXP (x0, 0);
  goto L28575;

 L12377: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 685 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 168 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1111;  /* avx_movntv4di */
    }
  x1 = XEXP (x0, 0);
  goto L28575;

 L30084: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 40)
    goto L20876;
  x1 = XEXP (x0, 0);
  goto L28575;

 L20876: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L20877;
    }
  x1 = XEXP (x0, 0);
  goto L28575;

 L20877: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L20878;
    }
  x1 = XEXP (x0, 0);
  goto L28575;

 L20878: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (rtx_equal_p (x2, operands[0])
      && (
#line 12326 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 216 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1910;  /* avx2_maskstoreq256 */
    }
  x1 = XEXP (x0, 0);
  goto L28575;

 L14712: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DImode)
    goto L30085;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30085: ATTRIBUTE_UNUSED_LABEL
  tem = recog_35 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L23207;

 L28545: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2DImode))
    {
      operands[0] = x1;
      goto L14528;
    }
 L28552: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V2DImode))
    {
      operands[0] = x1;
      goto L12254;
    }
 L28568: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V2DImode))
    {
      operands[0] = x1;
      goto L12380;
    }
  goto L23207;

 L14528: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L14529;
  if (nonimmediate_or_sse_const_operand (x1, V2DImode))
    {
      operands[1] = x1;
      goto L12227;
    }
  x1 = XEXP (x0, 0);
  goto L28552;

 L14529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DImode)
    goto L30154;
  x1 = XEXP (x0, 0);
  goto L28552;

 L30154: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L14530;
    }
 L30155: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L14544;
    }
  x1 = XEXP (x0, 0);
  goto L28552;

 L14530: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L14531;
  x2 = XEXP (x1, 0);
  goto L30155;

 L14531: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14532;
  x2 = XEXP (x1, 0);
  goto L30155;

 L14532: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 4056 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1360;  /* vec_extract_lo_v4di */
    }
  x2 = XEXP (x1, 0);
  goto L30155;

 L14544: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L14545;
  x1 = XEXP (x0, 0);
  goto L28552;

 L14545: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14546;
  x1 = XEXP (x0, 0);
  goto L28552;

 L14546: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 4075 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1362;  /* vec_extract_hi_v4di */
    }
  x1 = XEXP (x0, 0);
  goto L28552;

 L12227: ATTRIBUTE_UNUSED_LABEL
  if (
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V2DImode)
       || register_operand (operands[1], V2DImode))))
    {
      return 1082;  /* *movv2di_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28552;

 L12254: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DImode)
    goto L30156;
  x1 = XEXP (x0, 0);
  goto L28568;

 L30156: ATTRIBUTE_UNUSED_LABEL
  tem = recog_39 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28568;

 L12380: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DImode)
    goto L30281;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30281: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L30283;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30283: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30285;
    case 3:
      goto L30286;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30285: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 91)
    goto L12381;
  x1 = XEXP (x0, 0);
  goto L23207;

 L12381: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L12382;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L12382: ATTRIBUTE_UNUSED_LABEL
  if (
#line 685 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1112;  /* sse2_movntv2di */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30286: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 40)
    goto L20864;
  x1 = XEXP (x0, 0);
  goto L23207;

 L20864: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20865;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L20865: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L20866;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L20866: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (rtx_equal_p (x2, operands[0])
      && (
#line 12326 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 215 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1908;  /* avx2_maskstoreq */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28546: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2TImode))
    {
      operands[0] = x1;
      goto L12230;
    }
 L28579: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V2TImode))
    {
      operands[0] = x1;
      goto L15370;
    }
  goto L23207;

 L12230: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonimmediate_or_sse_const_operand (x1, V2TImode))
    {
      operands[1] = x1;
      goto L12231;
    }
  x1 = XEXP (x0, 0);
  goto L28579;

 L12231: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V2TImode)
       || register_operand (operands[1], V2TImode))) && 
#line 107 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1083;  /* *movv2ti_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28579;

 L15370: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2TImode)
    goto L30287;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30287: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case ASHIFT:
      goto L15371;
    case LSHIFTRT:
      goto L15383;
    case UNSPEC:
      goto L30290;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2TImode))
    {
      operands[1] = x2;
      goto L15372;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15372: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_255_mul_8_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15373;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15373: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5893 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 184 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1459;  /* avx2_ashlv2ti3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15383: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2TImode))
    {
      operands[1] = x2;
      goto L15384;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15384: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_255_mul_8_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15385;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15385: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5930 "../../gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 184 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1461;  /* avx2_lshrv2ti3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30290: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 97)
    goto L18380;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18380: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2TImode))
    {
      operands[1] = x2;
      goto L18381;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18381: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2TImode))
    {
      operands[2] = x2;
      goto L18382;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18382: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_mul_8_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18383;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18383: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9305 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 188 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)))
    {
      return 1647;  /* avx2_palignrv2ti */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28547: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V1TImode))
    {
      operands[0] = x1;
      goto L12234;
    }
 L28580: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V1TImode))
    {
      operands[0] = x1;
      goto L15376;
    }
  goto L23207;

 L12234: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (nonimmediate_or_sse_const_operand (x1, V1TImode))
    {
      operands[1] = x1;
      goto L12235;
    }
  x1 = XEXP (x0, 0);
  goto L28580;

 L12235: ATTRIBUTE_UNUSED_LABEL
  if (
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V1TImode)
       || register_operand (operands[1], V1TImode))))
    {
      return 1084;  /* *movv1ti_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28580;

 L15376: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V1TImode)
    goto L30291;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30291: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case ASHIFT:
      goto L15377;
    case LSHIFTRT:
      goto L15389;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15377: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V1TImode))
    {
      operands[1] = x2;
      goto L15378;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15378: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_255_mul_8_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15379;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15379: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5893 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1460;  /* sse2_ashlv1ti3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15389: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V1TImode))
    {
      operands[1] = x2;
      goto L15390;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15390: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_0_to_255_mul_8_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L15391;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15391: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5930 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1462;  /* sse2_lshrv1ti3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28548: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V8SFmode))
    {
      operands[0] = x1;
      goto L20886;
    }
 L28554: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V8SFmode))
    {
      operands[0] = x1;
      goto L12275;
    }
 L28558: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V8SFmode))
    {
      operands[0] = x1;
      goto L12295;
    }
 L28590: ATTRIBUTE_UNUSED_LABEL
  if (reg_not_xmm0_operand_maybe_avx (x1, V8SFmode))
    {
      operands[0] = x1;
      goto L18524;
    }
  goto L23207;

 L20886: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 127)
    goto L20887;
  if (nonimmediate_or_sse_const_operand (x1, V8SFmode))
    {
      operands[1] = x1;
      goto L12239;
    }
  x1 = XEXP (x0, 0);
  goto L28554;

 L20887: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L20888;
    }
  x1 = XEXP (x0, 0);
  goto L28554;

 L20888: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12338 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1912;  /* avx_ps256_ps */
    }
  x1 = XEXP (x0, 0);
  goto L28554;

 L12239: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V8SFmode)
       || register_operand (operands[1], V8SFmode))) && 
#line 108 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1085;  /* *movv8sf_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28554;

 L12275: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SFmode)
    goto L30293;
  x1 = XEXP (x0, 0);
  goto L28558;

 L30293: ATTRIBUTE_UNUSED_LABEL
  tem = recog_42 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28558;

 L12295: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SFmode)
    goto L30412;
  x1 = XEXP (x0, 0);
  goto L28590;

 L30412: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L30415;
  x1 = XEXP (x0, 0);
  goto L28590;

 L30415: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30418;
    case 3:
      goto L30420;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L30418: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 93L:
      goto L12296;
    case 91L:
      goto L12356;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L12296: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12297;
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L12297: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 601 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1095;  /* avx_storeups256 */
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L12356: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L12357;
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L12357: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 675 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1107;  /* avx_movntv8sf */
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L30420: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 40)
    goto L20846;
  x1 = XEXP (x0, 0);
  goto L28590;

 L20846: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L20847;
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L20847: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L20848;
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L20848: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 12326 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1905;  /* avx_maskstoreps256 */
    }
  x1 = XEXP (x0, 0);
  goto L28590;

 L18524: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 102)
    goto L18525;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18525: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (reg_not_xmm0_operand_maybe_avx (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L18526;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18526: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimm_not_xmm0_operand_maybe_avx (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L18527;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18527: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (register_operand (x2, V8SFmode))
    {
      operands[3] = x2;
      goto L18528;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18528: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9480 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1671;  /* avx_blendvps256 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28549: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4SFmode))
    {
      operands[0] = x1;
      goto L14237;
    }
 L28555: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4SFmode))
    {
      operands[0] = x1;
      goto L12280;
    }
 L28559: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V4SFmode))
    {
      operands[0] = x1;
      goto L12300;
    }
 L28591: ATTRIBUTE_UNUSED_LABEL
  if (reg_not_xmm0_operand_maybe_avx (x1, V4SFmode))
    {
      operands[0] = x1;
      goto L18531;
    }
  goto L23207;

 L14237: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SFmode)
    goto L30421;
 L12242: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_or_sse_const_operand (x1, V4SFmode))
    {
      operands[1] = x1;
      goto L12243;
    }
  x1 = XEXP (x0, 0);
  goto L28555;

 L30421: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case VEC_SELECT:
      goto L14238;
    case VEC_CONCAT:
      goto L14411;
    case VEC_MERGE:
      goto L14487;
    default:
     break;
   }
  goto L12242;

 L14238: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V8SFmode)
    goto L30424;
  goto L12242;

 L30424: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L14239;
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L14567;
    }
 L30426: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L14585;
    }
  goto L12242;

 L14239: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14240;
    }
  goto L12242;

 L14240: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L14241;
    }
  goto L12242;

 L14241: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14242;
  goto L12242;

 L14242: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30427;
  goto L12242;

 L30427: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 6L:
        goto L14243;
      case 0L:
        goto L14254;
      default:
        break;
      }
  goto L12242;

 L14243: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L14244;
  goto L12242;

 L14244: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14245;
  goto L12242;

 L14245: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 3239 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1329;  /* sse_movhlps */
    }
  goto L12242;

 L14254: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14255;
  goto L12242;

 L14255: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14256;
  goto L12242;

 L14256: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)]
      && 
#line 3284 "../../gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V4SFmode, operands)))
    {
      return 1330;  /* sse_movlhps */
    }
  goto L12242;

 L14567: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14568;
  x2 = XEXP (x1, 0);
  goto L30426;

 L14568: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14569;
  x2 = XEXP (x1, 0);
  goto L30426;

 L14569: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14570;
  x2 = XEXP (x1, 0);
  goto L30426;

 L14570: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14571;
  x2 = XEXP (x1, 0);
  goto L30426;

 L14571: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 4090 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1365;  /* vec_extract_lo_v8sf */
    }
  x2 = XEXP (x1, 0);
  goto L30426;

 L14585: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L14586;
  goto L12242;

 L14586: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L14587;
  goto L12242;

 L14587: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L14588;
  goto L12242;

 L14588: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L14589;
  goto L12242;

 L14589: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && 
#line 4110 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1367;  /* vec_extract_hi_v8sf */
    }
  goto L12242;

 L14411: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2SFmode)
    goto L30429;
  goto L12242;

 L30429: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14412;
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L14429;
    }
  goto L12242;

 L14412: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14413;
    }
  goto L12242;

 L14413: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L14414;
  goto L12242;

 L14414: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14415;
  goto L12242;

 L14415: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L14416;
  goto L12242;

 L14416: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[2] = x2;
      goto L14417;
    }
  goto L12242;

 L14417: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3647 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1343;  /* sse_loadhps */
    }
  x1 = XEXP (x0, 1);
  goto L12242;

 L14429: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2SFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L14430;
  goto L12242;

 L14430: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L14431;
    }
  goto L12242;

 L14431: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 2)
    goto L14432;
  goto L12242;

 L14432: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14433;
  goto L12242;

 L14433: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 3700 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1345;  /* sse_loadlps */
    }
  goto L12242;

 L14487: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode
      && GET_CODE (x2) == VEC_DUPLICATE)
    goto L14488;
  goto L12242;

 L14488: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (general_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L14489;
    }
  goto L12242;

 L14489: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (vector_move_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L14490;
    }
  goto L12242;

 L14490: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 3834 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1354;  /* vec_setv4sf_0 */
    }
  goto L12242;

 L12243: ATTRIBUTE_UNUSED_LABEL
  if (
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4SFmode)
       || register_operand (operands[1], V4SFmode))))
    {
      return 1086;  /* *movv4sf_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28555;

 L12280: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SFmode)
    goto L30431;
  x1 = XEXP (x0, 0);
  goto L28559;

 L30431: ATTRIBUTE_UNUSED_LABEL
  tem = recog_46 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28559;

 L12300: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SFmode)
    goto L30595;
  x1 = XEXP (x0, 0);
  goto L28591;

 L30595: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L30598;
  x1 = XEXP (x0, 0);
  goto L28591;

 L30598: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30601;
    case 3:
      goto L30603;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L30601: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 93L:
      goto L12301;
    case 91L:
      goto L12361;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L12301: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12302;
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L12302: ATTRIBUTE_UNUSED_LABEL
  if (
#line 601 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1096;  /* sse_storeups */
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L12361: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L12362;
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L12362: ATTRIBUTE_UNUSED_LABEL
  if (
#line 675 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1108;  /* sse_movntv4sf */
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L30603: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 40)
    goto L20834;
  x1 = XEXP (x0, 0);
  goto L28591;

 L20834: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L20835;
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L20835: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L20836;
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L20836: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 12326 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1903;  /* avx_maskstoreps */
    }
  x1 = XEXP (x0, 0);
  goto L28591;

 L18531: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 102)
    goto L18532;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18532: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (reg_not_xmm0_operand_maybe_avx (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L18533;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18533: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimm_not_xmm0_operand_maybe_avx (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L18534;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18534: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (register_operand (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L18535;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18535: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9480 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1672;  /* sse4_1_blendvps */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28550: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4DFmode))
    {
      operands[0] = x1;
      goto L20891;
    }
 L28556: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4DFmode))
    {
      operands[0] = x1;
      goto L12285;
    }
 L28560: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V4DFmode))
    {
      operands[0] = x1;
      goto L12305;
    }
 L28592: ATTRIBUTE_UNUSED_LABEL
  if (reg_not_xmm0_operand_maybe_avx (x1, V4DFmode))
    {
      operands[0] = x1;
      goto L18538;
    }
  goto L23207;

 L20891: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 127)
    goto L20892;
  if (nonimmediate_or_sse_const_operand (x1, V4DFmode))
    {
      operands[1] = x1;
      goto L12247;
    }
  x1 = XEXP (x0, 0);
  goto L28556;

 L20892: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L20893;
    }
  x1 = XEXP (x0, 0);
  goto L28556;

 L20893: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12338 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1913;  /* avx_pd256_pd */
    }
  x1 = XEXP (x0, 0);
  goto L28556;

 L12247: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4DFmode)
       || register_operand (operands[1], V4DFmode))) && 
#line 109 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1087;  /* *movv4df_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28556;

 L12285: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DFmode)
    goto L30604;
  x1 = XEXP (x0, 0);
  goto L28560;

 L30604: ATTRIBUTE_UNUSED_LABEL
  tem = recog_48 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28560;

 L12305: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DFmode)
    goto L30715;
  x1 = XEXP (x0, 0);
  goto L28592;

 L30715: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L30718;
  x1 = XEXP (x0, 0);
  goto L28592;

 L30718: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30721;
    case 3:
      goto L30723;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L30721: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 93L:
      goto L12306;
    case 91L:
      goto L12366;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L12306: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12307;
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L12307: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 601 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1097;  /* avx_storeupd256 */
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L12366: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L12367;
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L12367: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 675 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1109;  /* avx_movntv4df */
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L30723: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 40)
    goto L20852;
  x1 = XEXP (x0, 0);
  goto L28592;

 L20852: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L20853;
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L20853: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L20854;
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L20854: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 12326 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1906;  /* avx_maskstorepd256 */
    }
  x1 = XEXP (x0, 0);
  goto L28592;

 L18538: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 102)
    goto L18539;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18539: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (reg_not_xmm0_operand_maybe_avx (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L18540;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18540: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimm_not_xmm0_operand_maybe_avx (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L18541;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18541: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (register_operand (x2, V4DFmode))
    {
      operands[3] = x2;
      goto L18542;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18542: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9480 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1673;  /* avx_blendvpd256 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28551: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2DFmode))
    {
      operands[0] = x1;
      goto L14535;
    }
 L28557: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V2DFmode))
    {
      operands[0] = x1;
      goto L12290;
    }
 L28561: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V2DFmode))
    {
      operands[0] = x1;
      goto L12310;
    }
 L28593: ATTRIBUTE_UNUSED_LABEL
  if (reg_not_xmm0_operand_maybe_avx (x1, V2DFmode))
    {
      operands[0] = x1;
      goto L18545;
    }
  goto L23207;

 L14535: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DFmode)
    goto L30724;
 L12250: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_or_sse_const_operand (x1, V2DFmode))
    {
      operands[1] = x1;
      goto L12251;
    }
  x1 = XEXP (x0, 0);
  goto L28557;

 L30724: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case VEC_SELECT:
      goto L14536;
    case VEC_CONCAT:
      goto L14797;
    case VEC_MERGE:
      goto L14814;
    default:
     break;
   }
  goto L12250;

 L14536: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DFmode)
    goto L30729;
  goto L12250;

 L30729: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_CONCAT)
    goto L14673;
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L14537;
    }
 L30728: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L14551;
    }
  goto L12250;

 L14673: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14674;
    }
  goto L12250;

 L14674: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L14675;
    }
  goto L12250;

 L14675: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L14676;
  goto L12250;

 L14676: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30730;
  goto L12250;

 L30730: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L14677;
      case 0L:
        goto L14697;
      default:
        break;
      }
  goto L12250;

 L14677: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 4297 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 1)))
    {
      return 1373;  /* *vec_interleave_highv2df */
    }
  goto L12250;

 L14697: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && 
#line 4398 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 0)))
    {
      return 1375;  /* *vec_interleave_lowv2df */
    }
  goto L12250;

 L14537: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L14538;
  x2 = XEXP (x1, 0);
  goto L30728;

 L14538: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14539;
  x2 = XEXP (x1, 0);
  goto L30728;

 L14539: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 4056 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1361;  /* vec_extract_lo_v4df */
    }
  x2 = XEXP (x1, 0);
  goto L30728;

 L14551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L14552;
  goto L12250;

 L14552: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L14553;
  goto L12250;

 L14553: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 4075 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1363;  /* vec_extract_hi_v4df */
    }
  goto L12250;

 L14797: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L30732;
  goto L12250;

 L30732: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L14798;
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L14807;
    }
  goto L12250;

 L14798: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14799;
    }
  goto L12250;

 L14799: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14800;
  goto L12250;

 L14800: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L14801;
  goto L12250;

 L14801: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L14802;
    }
  goto L12250;

 L14802: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4730 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1387;  /* sse2_loadhpd */
    }
  x1 = XEXP (x0, 1);
  goto L12250;

 L14807: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L14808;
  goto L12250;

 L14808: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (vector_move_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L14809;
    }
  goto L12250;

 L14809: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L14810;
  goto L12250;

 L14810: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 4786 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 1388;  /* sse2_loadlpd */
    }
  goto L12250;

 L14814: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L14815;
    }
  goto L12250;

 L14815: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L14816;
    }
  goto L12250;

 L14816: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 4829 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1389;  /* sse2_movsd */
    }
  goto L12250;

 L12251: ATTRIBUTE_UNUSED_LABEL
  if (
#line 426 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V2DFmode)
       || register_operand (operands[1], V2DFmode))))
    {
      return 1088;  /* *movv2df_internal */
    }
  x1 = XEXP (x0, 0);
  goto L28557;

 L12290: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DFmode)
    goto L30734;
  x1 = XEXP (x0, 0);
  goto L28561;

 L30734: ATTRIBUTE_UNUSED_LABEL
  tem = recog_51 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x1 = XEXP (x0, 0);
  goto L28561;

 L12310: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DFmode)
    goto L30855;
  x1 = XEXP (x0, 0);
  goto L28593;

 L30855: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L30858;
  x1 = XEXP (x0, 0);
  goto L28593;

 L30858: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 1:
      goto L30861;
    case 3:
      goto L30863;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L30861: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 93L:
      goto L12311;
    case 91L:
      goto L12371;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L12311: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12312;
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L12312: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 601 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1098;  /* sse2_storeupd */
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L12371: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L12372;
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L12372: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 675 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1110;  /* sse2_movntv2df */
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L30863: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 40)
    goto L20840;
  x1 = XEXP (x0, 0);
  goto L28593;

 L20840: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L20841;
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L20841: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L20842;
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L20842: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 12326 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1904;  /* avx_maskstorepd */
    }
  x1 = XEXP (x0, 0);
  goto L28593;

 L18545: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 102)
    goto L18546;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18546: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (reg_not_xmm0_operand_maybe_avx (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L18547;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18547: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimm_not_xmm0_operand_maybe_avx (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L18548;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18548: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (register_operand (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L18549;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18549: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9480 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1674;  /* sse4_1_blendvpd */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28569: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L13339;
  goto L23207;

 L13339: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCFPmode
      && GET_CODE (x1) == COMPARE)
    goto L13340;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13340: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L30864;
    case DFmode:
      goto L30865;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30864: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L13341;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13341: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[0] = x3;
      goto L13342;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L13342: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13343;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13343: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13344;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L13345;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13345: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13346;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L13346: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13347;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13347: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 1483 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
    {
      return 1209;  /* sse_comi */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30865: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L13352;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13352: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[0] = x3;
      goto L13353;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L13353: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13354;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13354: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13355;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13355: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L13356;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13356: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L13357;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L13357: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13358;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13358: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 1483 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
    {
      return 1210;  /* sse2_comi */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28570: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L13361;
  goto L23207;

 L13361: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCFPUmode
      && GET_CODE (x1) == COMPARE)
    goto L13362;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13362: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L30866;
    case DFmode:
      goto L30867;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30866: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L13363;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13363: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[0] = x3;
      goto L13364;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L13364: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13365;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13365: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13366;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13366: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L13367;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L13368;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L13368: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13369;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13369: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 1503 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
    {
      return 1211;  /* sse_ucomi */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30867: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L13374;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13374: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[0] = x3;
      goto L13375;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L13375: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13376;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13376: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L13377;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13377: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L13378;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13378: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L13379;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L13379: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L13380;
  x1 = XEXP (x0, 0);
  goto L23207;

 L13380: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 1503 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
    {
      return 1212;  /* sse2_ucomi */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28572: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L13490;
    }
 L28576: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L14772;
    }
 L28589: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L18450;
    }
  goto L23207;

 L13490: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode)
    goto L30868;
  x1 = XEXP (x0, 0);
  goto L28576;

 L30868: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case AND:
      goto L13491;
    case IOR:
      goto L13522;
    case XOR:
      goto L13528;
    case FMA:
      goto L13541;
    case UNSPEC:
      goto L30873;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13491: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L30874;
  x1 = XEXP (x0, 0);
  goto L28576;

 L30874: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L13492;
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L13517;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13492: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L13493;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13493: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L13494;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13494: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1656 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
    {
      return 1230;  /* *andnotdf3 */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L13518;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13518: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1688 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
    {
      return 1234;  /* *anddf3 */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13522: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L13523;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13523: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L13524;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13524: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1688 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
    {
      return 1235;  /* *iordf3 */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13528: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L13529;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L13530;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13530: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1688 "../../gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
    {
      return 1236;  /* *xordf3 */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13541: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L30877;
  x1 = XEXP (x0, 0);
  goto L28576;

 L30877: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13633;
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L13542;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13633: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L13634;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13634: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L13635;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13635: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == DFmode)
    goto L30879;
  x1 = XEXP (x0, 0);
  goto L28576;

 L30879: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13685;
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L13636;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13685: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[3] = x3;
      goto L13686;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13686: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1831 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1256;  /* *fma_fnmsub_df */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13636: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1812 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1250;  /* *fma_fnmadd_df */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13542: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L13543;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13543: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) == DFmode)
    goto L30881;
  x1 = XEXP (x0, 0);
  goto L28576;

 L30881: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NEG)
    goto L13587;
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L13544;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13587: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[3] = x3;
      goto L13588;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13588: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1794 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1244;  /* *fma_fmsub_df */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L13544: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1776 "../../gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
    {
      return 1238;  /* *fma_fmadd_df */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L30873: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 115)
    goto L20093;
  x1 = XEXP (x0, 0);
  goto L28576;

 L20093: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L20094;
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L20094: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11454 "../../gcc/config/i386/sse.md"
(TARGET_XOP))
    {
      return 1800;  /* xop_frczdf2 */
    }
  x1 = XEXP (x0, 0);
  goto L28576;

 L14772: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode
      && GET_CODE (x1) == VEC_SELECT)
    goto L14773;
  x1 = XEXP (x0, 0);
  goto L28589;

 L14773: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L14774;
    }
  x1 = XEXP (x0, 0);
  goto L28589;

 L14774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L14775;
  x1 = XEXP (x0, 0);
  goto L28589;

 L14775: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_CODE (x3) == CONST_INT)
    goto L30882;
  x1 = XEXP (x0, 0);
  goto L28589;

 L30882: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case 1L:
        goto L30886;
      case 0L:
        goto L30888;
      default:
        break;
      }
  x1 = XEXP (x0, 0);
  goto L28589;

 L30886: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4606 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1383;  /* sse2_storehpd */
    }
 L30887: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4639 "../../gcc/config/i386/sse.md"
(!TARGET_SSE2 && TARGET_SSE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1384;  /* *vec_extractv2df_1_sse */
    }
  x1 = XEXP (x0, 0);
  goto L28589;

 L30888: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4655 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1385;  /* sse2_storelpd */
    }
 L30889: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4689 "../../gcc/config/i386/sse.md"
(!TARGET_SSE2 && TARGET_SSE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 1386;  /* *vec_extractv2df_0_sse */
    }
  x1 = XEXP (x0, 0);
  goto L28589;

 L18450: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 91)
    goto L18451;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18451: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == DFmode)
    goto L30891;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30891: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L18464;
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L18452;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18464: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L18465;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18465: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L18466;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18466: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 9393 "../../gcc/config/i386/sse.md"
(TARGET_SSE4A) && 
#line 143 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1662;  /* sse4a_vmmovntv2df */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18452: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9381 "../../gcc/config/i386/sse.md"
(TARGET_SSE4A))
    {
      return 1660;  /* sse4a_movntdf */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28581: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, TFmode))
    {
      operands[0] = x1;
      goto L15834;
    }
  goto L23207;

 L15834: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == TFmode)
    goto L30892;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30892: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case AND:
      goto L15835;
    case IOR:
      goto L15848;
    case XOR:
      goto L15854;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15835: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TFmode)
    goto L30895;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30895: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == NOT)
    goto L15836;
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[1] = x2;
      goto L15843;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15836: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TFmode))
    {
      operands[1] = x3;
      goto L15837;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15837: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L15838;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15838: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6584 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1535;  /* *andnottf3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15843: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L15844;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15844: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6607 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (AND, TFmode, operands)))
    {
      return 1536;  /* *andtf3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15848: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[1] = x2;
      goto L15849;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L15850;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15850: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6607 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (IOR, TFmode, operands)))
    {
      return 1537;  /* *iortf3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15854: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[1] = x2;
      goto L15855;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L15856;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L15856: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6607 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (XOR, TFmode, operands)))
    {
      return 1538;  /* *xortf3 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28582: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L16207;
    }
  goto L23207;

 L16207: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L16208;
  x1 = XEXP (x0, 0);
  goto L23207;

 L16208: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L16209;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L16209: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L16210;
  x1 = XEXP (x0, 0);
  goto L23207;

 L16210: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_15_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L16211;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L16211: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7056 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1563;  /* *sse4_1_pextrb_memory */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28583: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L16230;
    }
  goto L23207;

 L16230: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L16231;
  x1 = XEXP (x0, 0);
  goto L23207;

 L16231: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V8HImode))
    {
      operands[1] = x2;
      goto L16232;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L16232: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L16233;
  x1 = XEXP (x0, 0);
  goto L23207;

 L16233: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_7_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L16234;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L16234: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7083 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1566;  /* *sse4_1_pextrw_memory */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28587: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, TImode))
    {
      operands[0] = x1;
      goto L18386;
    }
  goto L23207;

 L18386: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == TImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 97)
    goto L18387;
  x1 = XEXP (x0, 0);
  goto L23207;

 L18387: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, TImode))
    {
      operands[1] = x2;
      goto L18388;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18388: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, TImode))
    {
      operands[2] = x2;
      goto L18389;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18389: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_mul_8_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L18390;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18390: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9305 "../../gcc/config/i386/sse.md"
(TARGET_SSSE3))
    {
      return 1648;  /* ssse3_palignrti */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L28596: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L18881;
  goto L23207;

 L18881: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == CCmode)
    goto L30897;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30897: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L30901;
  x1 = XEXP (x0, 0);
  goto L23207;

 L30901: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 2:
      goto L30905;
    case 5:
      goto L30907;
    case 3:
      goto L30908;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30905: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 128L:
      goto L18882;
    case 108L:
      goto L18906;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18882: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case V8SFmode:
      goto L30909;
    case V4SFmode:
      goto L30910;
    case V4DFmode:
      goto L30911;
    case V2DFmode:
      goto L30912;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30909: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SFmode))
    {
      operands[0] = x2;
      goto L18883;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18883: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L18884;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18884: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9845 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1716;  /* avx_vtestps256 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30910: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[0] = x2;
      goto L18889;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18889: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L18890;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18890: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9845 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1717;  /* avx_vtestps */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30911: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DFmode))
    {
      operands[0] = x2;
      goto L18895;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18895: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L18896;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18896: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9845 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1718;  /* avx_vtestpd256 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30912: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[0] = x2;
      goto L18901;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18901: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L18902;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18902: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9845 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1719;  /* avx_vtestpd */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18906: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case V4DImode:
      goto L30913;
    case V2DImode:
      goto L30914;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30913: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DImode))
    {
      operands[0] = x2;
      goto L18907;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18907: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L18908;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18908: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9859 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1720;  /* avx_ptest256 */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30914: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DImode))
    {
      operands[0] = x2;
      goto L18913;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18913: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L18914;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L18914: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9871 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1))
    {
      return 1721;  /* sse4_1_ptest */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30907: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 109)
    goto L19031;
  x1 = XEXP (x0, 0);
  goto L23207;

 L19031: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L19032;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L19032: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L19033;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L19033: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[4] = x2;
      goto L19034;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L19034: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 3);
  if (register_operand (x2, SImode))
    {
      operands[5] = x2;
      goto L19035;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L19035: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 4);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[6] = x2;
      goto L19036;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L19036: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10185 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 1731;  /* sse4_2_pcmpestr_cconly */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L30908: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 110)
    goto L19097;
  x1 = XEXP (x0, 0);
  goto L23207;

 L19097: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L19098;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L19098: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L19099;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L19099: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (const_0_to_255_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L19100;
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L19100: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10305 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 1735;  /* sse4_2_pcmpistr_cconly */
    }
  x1 = XEXP (x0, 0);
  goto L23207;

 L23208: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == BLKmode)
    goto L30915;
  x1 = XEXP (x0, 0);
  goto L23248;

 L30915: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L30918;
  x1 = XEXP (x0, 0);
  goto L23248;

 L30918: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L30921;
  x1 = XEXP (x0, 0);
  goto L23248;

 L30921: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 137L:
      goto L23209;
    case 138L:
      goto L23213;
    case 139L:
      goto L23217;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L23248;

 L23209: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 48 "../../gcc/config/i386/sync.md"
(TARGET_SSE2))
    {
      return 2008;  /* *sse2_lfence */
    }
  x1 = XEXP (x0, 0);
  goto L23248;

 L23213: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 67 "../../gcc/config/i386/sync.md"
(TARGET_SSE || TARGET_3DNOW_A))
    {
      return 2009;  /* *sse_sfence */
    }
  x1 = XEXP (x0, 0);
  goto L23248;

 L23217: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 86 "../../gcc/config/i386/sync.md"
(TARGET_64BIT || TARGET_SSE2))
    {
      return 2010;  /* mfence_sse2 */
    }
 L23228: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x2, operands[0])
      && 
#line 97 "../../gcc/config/i386/sync.md"
(!(TARGET_64BIT || TARGET_SSE2))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2011;  /* mfence_nosse */
    }
  x1 = XEXP (x0, 0);
  goto L23248;

 L28600: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L23249;
    }
  goto ret0;

 L23249: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode)
    goto L30924;
  goto ret0;

 L30924: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L30926;
    case UNSPEC_VOLATILE:
      goto L30927;
    default:
     break;
   }
  goto ret0;

 L30926: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 140)
    goto L23250;
  goto ret0;

 L23250: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonmemory_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L23251;
    }
  goto ret0;

 L23251: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      return 2013;  /* atomic_storeqi_1 */
    }
  goto ret0;

 L30927: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 32)
    goto L23652;
  goto ret0;

 L23652: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == QImode)
    goto L30928;
  goto ret0;

 L30928: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L23653;
    case MINUS:
      goto L23725;
    case AND:
      goto L23797;
    case IOR:
      goto L23815;
    case XOR:
      goto L23833;
    default:
     break;
   }
  goto ret0;

 L23653: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23654;
  goto ret0;

 L23654: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23655;
    }
  goto ret0;

 L23655: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23656;
    }
  goto ret0;

 L23656: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2038;  /* atomic_addqi */
    }
  goto ret0;

 L23725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23726;
  goto ret0;

 L23726: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23727;
    }
  goto ret0;

 L23727: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23728;
    }
  goto ret0;

 L23728: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2042;  /* atomic_subqi */
    }
  goto ret0;

 L23797: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23798;
  goto ret0;

 L23798: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23799;
    }
  goto ret0;

 L23799: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23800;
    }
  goto ret0;

 L23800: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2046;  /* atomic_andqi */
    }
  goto ret0;

 L23815: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23816;
  goto ret0;

 L23816: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23817;
    }
  goto ret0;

 L23817: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23818;
    }
  goto ret0;

 L23818: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2047;  /* atomic_orqi */
    }
  goto ret0;

 L23833: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23834;
  goto ret0;

 L23834: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23835;
    }
  goto ret0;

 L23835: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23836;
    }
  goto ret0;

 L23836: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2048;  /* atomic_xorqi */
    }
  goto ret0;

 L28601: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L23254;
    }
  goto ret0;

 L23254: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode)
    goto L30933;
  goto ret0;

 L30933: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L30935;
    case UNSPEC_VOLATILE:
      goto L30936;
    default:
     break;
   }
  goto ret0;

 L30935: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 140)
    goto L23255;
  goto ret0;

 L23255: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonmemory_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L23256;
    }
  goto ret0;

 L23256: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      return 2014;  /* atomic_storehi_1 */
    }
  goto ret0;

 L30936: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 32)
    goto L23670;
  goto ret0;

 L23670: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == HImode)
    goto L30937;
  goto ret0;

 L30937: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L23671;
    case MINUS:
      goto L23743;
    case AND:
      goto L23851;
    case IOR:
      goto L23869;
    case XOR:
      goto L23887;
    default:
     break;
   }
  goto ret0;

 L23671: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23672;
  goto ret0;

 L23672: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23673;
    }
  goto ret0;

 L23673: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23674;
    }
  goto ret0;

 L23674: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2039;  /* atomic_addhi */
    }
  goto ret0;

 L23743: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23744;
  goto ret0;

 L23744: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23745;
    }
  goto ret0;

 L23745: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23746;
    }
  goto ret0;

 L23746: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2043;  /* atomic_subhi */
    }
  goto ret0;

 L23851: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23852;
  goto ret0;

 L23852: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23853;
    }
  goto ret0;

 L23853: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23854;
    }
  goto ret0;

 L23854: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2049;  /* atomic_andhi */
    }
  goto ret0;

 L23869: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23870;
  goto ret0;

 L23870: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23871;
    }
  goto ret0;

 L23871: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23872;
    }
  goto ret0;

 L23872: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2050;  /* atomic_orhi */
    }
  goto ret0;

 L23887: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23888;
  goto ret0;

 L23888: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23889;
    }
  goto ret0;

 L23889: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23890;
    }
  goto ret0;

 L23890: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2051;  /* atomic_xorhi */
    }
  goto ret0;

 L28602: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L23259;
    }
  goto ret0;

 L23259: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L30942;
  goto ret0;

 L30942: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L30944;
    case UNSPEC_VOLATILE:
      goto L30945;
    default:
     break;
   }
  goto ret0;

 L30944: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 140)
    goto L23260;
  goto ret0;

 L23260: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x86_64_nonmemory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L23261;
    }
  goto ret0;

 L23261: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      return 2015;  /* atomic_storesi_1 */
    }
  goto ret0;

 L30945: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 32)
    goto L23688;
  goto ret0;

 L23688: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == SImode)
    goto L30946;
  goto ret0;

 L30946: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L23689;
    case MINUS:
      goto L23761;
    case AND:
      goto L23905;
    case IOR:
      goto L23923;
    case XOR:
      goto L23941;
    default:
     break;
   }
  goto ret0;

 L23689: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23690;
  goto ret0;

 L23690: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23691;
    }
  goto ret0;

 L23691: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23692;
    }
  goto ret0;

 L23692: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2040;  /* atomic_addsi */
    }
  goto ret0;

 L23761: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23762;
  goto ret0;

 L23762: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23763;
    }
  goto ret0;

 L23763: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23764;
    }
  goto ret0;

 L23764: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2044;  /* atomic_subsi */
    }
  goto ret0;

 L23905: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23906;
  goto ret0;

 L23906: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23907;
    }
  goto ret0;

 L23907: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23908;
    }
  goto ret0;

 L23908: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2052;  /* atomic_andsi */
    }
  goto ret0;

 L23923: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23924;
  goto ret0;

 L23924: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23925;
    }
  goto ret0;

 L23925: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23926;
    }
  goto ret0;

 L23926: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2053;  /* atomic_orsi */
    }
  goto ret0;

 L23941: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23942;
  goto ret0;

 L23942: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23943;
    }
  goto ret0;

 L23943: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23944;
    }
  goto ret0;

 L23944: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2054;  /* atomic_xorsi */
    }
  goto ret0;

 L28603: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L23264;
    }
  goto ret0;

 L23264: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L30951;
  goto ret0;

 L30951: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L30954;
    case UNSPEC_VOLATILE:
      goto L30956;
    default:
     break;
   }
  goto ret0;

 L30954: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x1, 0))
    {
    case 2:
      goto L30957;
    case 1:
      goto L30958;
    default:
      break;
    }
  goto ret0;

 L30957: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 140)
    goto L23265;
  goto ret0;

 L23265: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x86_64_nonmemory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L23266;
    }
  goto ret0;

 L23266: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23267;
    }
  goto ret0;

 L23267: ATTRIBUTE_UNUSED_LABEL
  if (
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 2016;  /* atomic_storedi_1 */
    }
  goto ret0;

 L30958: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 142)
    goto L23294;
  goto ret0;

 L23294: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L23295;
    }
  goto ret0;

 L23295: ATTRIBUTE_UNUSED_LABEL
  if (
#line 300 "../../gcc/config/i386/sync.md"
(TARGET_80387))
    {
      return 2019;  /* storedi_via_fpu */
    }
  goto ret0;

 L30956: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2
      && XINT (x1, 1) == 32)
    goto L23706;
  goto ret0;

 L23706: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) == DImode)
    goto L30959;
  goto ret0;

 L30959: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L23707;
    case MINUS:
      goto L23779;
    case AND:
      goto L23959;
    case IOR:
      goto L23977;
    case XOR:
      goto L23995;
    default:
     break;
   }
  goto ret0;

 L23707: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23708;
  goto ret0;

 L23708: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23709;
    }
  goto ret0;

 L23709: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23710;
    }
  goto ret0;

 L23710: ATTRIBUTE_UNUSED_LABEL
  if (
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2041;  /* atomic_adddi */
    }
  goto ret0;

 L23779: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23780;
  goto ret0;

 L23780: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23781;
    }
  goto ret0;

 L23781: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23782;
    }
  goto ret0;

 L23782: ATTRIBUTE_UNUSED_LABEL
  if (
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2045;  /* atomic_subdi */
    }
  goto ret0;

 L23959: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23960;
  goto ret0;

 L23960: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23961;
    }
  goto ret0;

 L23961: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23962;
    }
  goto ret0;

 L23962: ATTRIBUTE_UNUSED_LABEL
  if (
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2055;  /* atomic_anddi */
    }
  goto ret0;

 L23977: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23978;
  goto ret0;

 L23978: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23979;
    }
  goto ret0;

 L23979: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23980;
    }
  goto ret0;

 L23980: ATTRIBUTE_UNUSED_LABEL
  if (
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2056;  /* atomic_ordi */
    }
  goto ret0;

 L23995: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23996;
  goto ret0;

 L23996: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23997;
    }
  goto ret0;

 L23997: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L23998;
    }
  goto ret0;

 L23998: ATTRIBUTE_UNUSED_LABEL
  if (
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2057;  /* atomic_xordi */
    }
  goto ret0;

 L28604: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L23288;
    }
  goto ret0;

 L23288: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 141)
    goto L23289;
  goto ret0;

 L23289: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (memory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L23290;
    }
  goto ret0;

 L23290: ATTRIBUTE_UNUSED_LABEL
  if (
#line 291 "../../gcc/config/i386/sync.md"
(TARGET_80387))
    {
      return 2018;  /* loaddi_via_fpu */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_53 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case MEM:
      goto L31061;
    case FIX:
      goto L1113;
    case PLUS:
      goto L1792;
    case MINUS:
      goto L2340;
    case AND:
      goto L3864;
    case IOR:
      goto L4194;
    case XOR:
      goto L4208;
    case NEG:
      goto L5024;
    case ASHIFT:
      goto L5570;
    case LSHIFTRT:
      goto L5855;
    case ASHIFTRT:
      goto L5875;
    case ROTATE:
      goto L6575;
    case ROTATERT:
      goto L6595;
    default:
     break;
   }
  goto ret0;

 L31061: ATTRIBUTE_UNUSED_LABEL
  if (pop_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L360;
    }
  goto ret0;

 L360: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L361;
  goto ret0;

 L361: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L362;
  goto ret0;

 L362: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 53;  /* *popsi1_epilogue */
    }
  goto ret0;

 L1113: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1114;
    }
  goto ret0;

 L1114: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1115;
  goto ret0;

 L1115: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31062;
    case CCmode:
      goto L31063;
    default:
      break;
    }
  goto ret0;

 L31062: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L1116;
    }
  goto ret0;

 L1116: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4512 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	&& (TARGET_64BIT || SImode != DImode))
	&& TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 165;  /* fix_truncsi_i387_fisttp_with_temp */
    }
  goto ret0;

 L31063: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || SImode != DImode))
   && can_create_pseudo_p ()))
    {
      return 168;  /* *fix_truncsi_i387_1 */
    }
  goto ret0;

 L1792: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2611;
    }
  goto ret0;

 L2611: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L2612;
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L1794;
    }
  goto ret0;

 L2612: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2613;
    }
  goto ret0;

 L2613: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2614;
  goto ret0;

 L2614: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2615;
  goto ret0;

 L2615: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2616;
    }
  goto ret0;

 L2616: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2617;
  goto ret0;

 L2617: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 304;  /* *addsi3_carry */
    }
  goto ret0;

 L1794: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1795;
  goto ret0;

 L1795: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5523 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 250;  /* *addsi_1 */
    }
  goto ret0;

 L2340: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2633;
    }
  goto ret0;

 L2633: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L2634;
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2342;
    }
  goto ret0;

 L2634: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2635;
    }
  goto ret0;

 L2635: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2636;
  goto ret0;

 L2636: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2637;
  goto ret0;

 L2637: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2638;
    }
  goto ret0;

 L2638: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2639;
  goto ret0;

 L2639: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 305;  /* *subsi3_carry */
    }
  goto ret0;

 L2342: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2343;
  goto ret0;

 L2343: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6415 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)))
    {
      return 286;  /* *subsi_1 */
    }
  goto ret0;

 L3864: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L3865;
    }
  goto ret0;

 L3865: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3866;
    }
  goto ret0;

 L3866: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3867;
  goto ret0;

 L3867: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7770 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, SImode, operands)))
    {
      return 368;  /* *andsi_1 */
    }
  goto ret0;

 L4194: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L31065;
  goto ret0;

 L31065: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ASHIFT:
      goto L5546;
    case ASHIFTRT:
      goto L6017;
    case REG:
    case SUBREG:
    case MEM:
      goto L31064;
    default:
      goto ret0;
   }
 L31064: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L4195;
    }
  goto ret0;

 L5546: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L5547;
  goto ret0;

 L5547: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5548;
    }
  goto ret0;

 L5548: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == LSHIFTRT)
    goto L5549;
  goto ret0;

 L5549: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L5550;
    }
  goto ret0;

 L5550: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == QImode
      && GET_CODE (x4) == MINUS)
    goto L5551;
  goto ret0;

 L5551: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L5552;
  goto ret0;

 L5552: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, operands[2]))
    goto L5553;
  goto ret0;

 L5553: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5554;
  goto ret0;

 L5554: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 482;  /* x86_shld */
    }
  goto ret0;

 L6017: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L6018;
  goto ret0;

 L6018: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6019;
    }
  goto ret0;

 L6019: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ASHIFT)
    goto L6020;
  goto ret0;

 L6020: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6021;
    }
  goto ret0;

 L6021: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == QImode
      && GET_CODE (x4) == MINUS)
    goto L6022;
  goto ret0;

 L6022: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L6023;
  goto ret0;

 L6023: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, operands[2]))
    goto L6024;
  goto ret0;

 L6024: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6025;
  goto ret0;

 L6025: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 512;  /* x86_shrd */
    }
  goto ret0;

 L4195: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L4196;
    }
  goto ret0;

 L4196: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4197;
  goto ret0;

 L4197: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8186 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, SImode, operands)))
    {
      return 387;  /* *iorsi_1 */
    }
  goto ret0;

 L4208: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L4209;
    }
  goto ret0;

 L4209: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L4210;
    }
  goto ret0;

 L4210: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4211;
  goto ret0;

 L4211: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8186 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, SImode, operands)))
    {
      return 388;  /* *xorsi_1 */
    }
  goto ret0;

 L5024: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L5025;
    }
  goto ret0;

 L5025: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5026;
  goto ret0;

 L5026: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8533 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, SImode, operands)))
    {
      return 435;  /* *negsi2_1 */
    }
  goto ret0;

 L5570: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L5571;
    }
  goto ret0;

 L5571: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L5572;
 L5623: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5624;
    }
  goto ret0;

 L5572: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L5573;
  goto L5623;

 L5573: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L5574;
    }
  goto L5623;

 L5574: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L5575;
    }
  goto L5623;

 L5575: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5576;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L5623;

 L5576: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9099 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1))
    {
      return 483;  /* *ashlsi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L5623;

 L5624: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5625;
  goto ret0;

 L5625: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9122 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, SImode, operands)))
    {
      return 487;  /* *ashlsi3_1 */
    }
  goto ret0;

 L5855: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L5856;
    }
  goto ret0;

 L5856: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L5857;
 L6110: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6111;
    }
  goto ret0;

 L5857: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L5858;
  goto L6110;

 L5858: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L5859;
    }
  goto L6110;

 L5859: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L5860;
    }
  goto L6110;

 L5860: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5861;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6110;

 L5861: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9601 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1))
    {
      return 503;  /* *lshrsi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6110;

 L6111: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6112;
  goto ret0;

 L6112: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9767 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, SImode, operands)))
    {
      return 520;  /* *lshrsi3_1 */
    }
  goto ret0;

 L5875: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L5876;
    }
  goto ret0;

 L5876: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L5877;
  if (const_int_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6057;
    }
 L6124: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6125;
    }
  goto ret0;

 L5877: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L5878;
  goto L6124;

 L5878: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L5879;
    }
  goto L6124;

 L5879: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L5880;
    }
  goto L6124;

 L5880: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5881;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6124;

 L5881: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9601 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1))
    {
      return 504;  /* *ashrsi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6124;

 L6057: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6058;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6124;

 L6058: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9693 "../../gcc/config/i386/i386.md"
(INTVAL (operands[2]) == 31
   && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
    {
      return 514;  /* ashrsi3_cvt */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6124;

 L6125: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6126;
  goto ret0;

 L6126: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9767 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
    {
      return 521;  /* *ashrsi3_1 */
    }
  goto ret0;

 L6575: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6576;
    }
  goto ret0;

 L6576: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L6577;
 L6736: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6737;
    }
  goto ret0;

 L6577: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L6578;
  goto L6736;

 L6578: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L6579;
    }
  goto L6736;

 L6579: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L6580;
    }
  goto L6736;

 L6580: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6581;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6736;

 L6581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10056 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1))
    {
      return 552;  /* *rotlsi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6736;

 L6737: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6738;
  goto ret0;

 L6738: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10139 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, SImode, operands)))
    {
      return 562;  /* *rotlsi3_1 */
    }
  goto ret0;

 L6595: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L6596;
    }
  goto ret0;

 L6596: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L6597;
 L6750: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6751;
    }
  goto ret0;

 L6597: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L6598;
  goto L6750;

 L6598: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L6599;
    }
  goto L6750;

 L6599: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L6600;
    }
  goto L6750;

 L6600: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6601;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6750;

 L6601: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10056 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, SImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1))
    {
      return 553;  /* *rotrsi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6750;

 L6751: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6752;
  goto ret0;

 L6752: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10139 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, SImode, operands)))
    {
      return 563;  /* *rotrsi3_1 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_54 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case MEM:
      goto L31037;
    case ZERO_EXTRACT:
      goto L2158;
    default:
     break;
   }
 L30968: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L359;
    }
 L30970: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L485;
    }
 L30980: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L1058;
    }
  goto ret0;

 L31037: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L337;
    }
  goto L30968;

 L337: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_no_elim_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L338;
    }
  x2 = XEXP (x1, 0);
  goto L30968;

 L338: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L339;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30968;

 L339: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L340;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30968;

 L340: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 49;  /* *pushsi2_prologue */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30968;

 L2158: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L2159;
    }
  goto ret0;

 L2159: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2160;
  goto ret0;

 L2160: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2161;
  goto ret0;

 L2161: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31038;
  goto ret0;

 L31038: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L2162;
    case AND:
      goto L4034;
    case IOR:
      goto L4709;
    case XOR:
      goto L4735;
    default:
     break;
   }
  goto ret0;

 L2162: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L2163;
  goto ret0;

 L2163: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L2164;
    }
  goto ret0;

 L2164: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2165;
  goto ret0;

 L2165: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2218;
  goto ret0;

 L2218: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L2219;
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2167;
    }
 L2192: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2193;
    }
  goto ret0;

 L2219: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L2220;
    }
  goto ret0;

 L2220: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2221;
  goto ret0;

 L2221: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L2222;
  goto ret0;

 L2222: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2223;
  goto ret0;

 L2223: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 276;  /* *addqi_ext_2 */
    }
  goto ret0;

 L2167: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2168;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2192;

 L2168: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6158 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 274;  /* *addqi_ext_1_rex64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2192;

 L2193: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2194;
  goto ret0;

 L2194: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6193 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 275;  /* addqi_ext_1 */
    }
  goto ret0;

 L4034: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L4035;
  goto ret0;

 L4035: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L4036;
    }
  goto ret0;

 L4036: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4037;
  goto ret0;

 L4037: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4086;
  goto ret0;

 L4086: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode)
    goto L31042;
 L4038: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4039;
    }
  goto ret0;

 L31042: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      goto L4087;
    case ZERO_EXTRACT:
      goto L4143;
    default:
     break;
   }
  goto L4038;

 L4087: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L4088;
    }
 L4115: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L4116;
    }
  goto L4038;

 L4088: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4089;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  goto L4115;

 L4089: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8075 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 382;  /* *andqi_ext_1_rex64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  goto L4115;

 L4116: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4117;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4038;

 L4117: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8093 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 383;  /* *andqi_ext_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4038;

 L4143: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L4144;
    }
  goto L4038;

 L4144: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4145;
  goto L4038;

 L4145: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4146;
  goto L4038;

 L4146: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4147;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4038;

 L4147: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 384;  /* *andqi_ext_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4038;

 L4039: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4040;
  goto ret0;

 L4040: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 380;  /* andqi_ext_0 */
    }
  goto ret0;

 L4709: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L4710;
  goto ret0;

 L4710: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L4711;
    }
  goto ret0;

 L4711: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4712;
  goto ret0;

 L4712: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4765;
  goto ret0;

 L4765: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode)
    goto L31044;
 L4713: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4714;
    }
  goto ret0;

 L31044: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      goto L4766;
    case ZERO_EXTRACT:
      goto L4878;
    default:
     break;
   }
  goto L4713;

 L4766: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L4767;
    }
 L4822: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L4823;
    }
  goto L4713;

 L4767: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4768;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  goto L4822;

 L4768: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8339 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))))
    {
      return 423;  /* *iorqi_ext_1_rex64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  goto L4822;

 L4823: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4824;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4713;

 L4824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8358 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))))
    {
      return 425;  /* *iorqi_ext_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4713;

 L4878: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L4879;
    }
  goto L4713;

 L4879: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4880;
  goto L4713;

 L4880: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4881;
  goto L4713;

 L4881: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4882;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4713;

 L4882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8377 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    {
      return 427;  /* *iorqi_ext_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4713;

 L4714: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4715;
  goto ret0;

 L4715: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8320 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    {
      return 421;  /* *iorqi_ext_0 */
    }
  goto ret0;

 L4735: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L4736;
  goto ret0;

 L4736: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L4737;
    }
  goto ret0;

 L4737: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4738;
  goto ret0;

 L4738: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4793;
  goto ret0;

 L4793: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode)
    goto L31046;
 L4739: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L4740;
    }
  goto ret0;

 L31046: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      goto L4794;
    case ZERO_EXTRACT:
      goto L4909;
    default:
     break;
   }
  goto L4739;

 L4794: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L4795;
    }
 L4850: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L4851;
    }
  goto L4739;

 L4795: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4796;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  goto L4850;

 L4796: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8339 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))))
    {
      return 424;  /* *xorqi_ext_1_rex64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  goto L4850;

 L4851: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4852;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4739;

 L4852: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8358 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))))
    {
      return 426;  /* *xorqi_ext_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4739;

 L4909: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L4910;
    }
  goto L4739;

 L4910: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4911;
  goto L4739;

 L4911: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4912;
  goto L4739;

 L4912: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4913;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4739;

 L4913: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8377 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    {
      return 428;  /* *xorqi_ext_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L4739;

 L4740: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4741;
  goto ret0;

 L4741: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8320 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    {
      return 422;  /* *xorqi_ext_0 */
    }
  goto ret0;

 L359: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31048;
  x2 = XEXP (x1, 0);
  goto L30970;

 L31048: ATTRIBUTE_UNUSED_LABEL
  tem = recog_53 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L30970;

 L485: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31068;
 L373: ATTRIBUTE_UNUSED_LABEL
  if (const0_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L374;
    }
 L393: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L394;
    }
  x2 = XEXP (x1, 0);
  goto L30980;

 L31068: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L745;
    case UNSIGNED_FIX:
      goto L983;
    case MULT:
      goto L2884;
    case DIV:
      goto L3343;
    case UDIV:
      goto L3595;
    case REG:
    case SUBREG:
      goto L31067;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case GEU:
    case GTU:
    case LEU:
    case LTU:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L31073;
    default:
      goto L373;
   }
 L31067: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L486;
    }
 L31073: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x2, SImode))
    {
      operands[1] = x2;
      goto L6992;
    }
  goto L373;

 L745: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L31074;
    case QImode:
      goto L31075;
    default:
      break;
    }
  goto L373;

 L31074: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L746;
    }
  goto L373;

 L746: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L747;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L747: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 3537 "../../gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
    {
      return 118;  /* zero_extendhisi2_and */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L31075: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L775;
    }
  goto L373;

 L775: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L776;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L776: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L31076;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L31076: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L31078;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L31078: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L31080;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L31080: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3565 "../../gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
    {
      return 121;  /* *zero_extendqisi2_and */
    }
 L31081: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3591 "../../gcc/config/i386/i386.md"
(!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun)))
    {
      return 123;  /* *zero_extendqisi2_movzbl_and */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L983: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L31082;
    case DFmode:
      goto L31083;
    default:
      break;
    }
  goto L373;

 L31082: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[3] = x3;
      goto L984;
    }
  goto L373;

 L984: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L985;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L985: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L986;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L986: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4389 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 152;  /* *fixuns_truncsf_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L31083: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[3] = x3;
      goto L1004;
    }
  goto L373;

 L1004: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1005;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L1005: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L1006;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L1006: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4389 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 2;
      return 153;  /* *fixuns_truncdf_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2884: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L31084;
  goto L373;

 L31084: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2885;
    }
 L31085: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2973;
    }
  goto L373;

 L2885: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2886;
    }
  x3 = XEXP (x2, 0);
  goto L31085;

 L2886: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2887;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31085;

 L2887: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6651 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 319;  /* *mulsi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31085;

 L2973: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L2974;
    }
  goto L373;

 L2974: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2975;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2975: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L2976;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2976: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == TRUNCATE)
    goto L2977;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2977: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == LSHIFTRT)
    goto L2978;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2978: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == MULT)
    goto L2979;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2979: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L2980;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2980: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L2981;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2981: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == DImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L2982;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2982: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[3]))
    goto L2983;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L2983: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)]
      && 
#line 6812 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_BMI2
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 325;  /* *bmi2_umulsidi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3343: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3344;
    }
  goto L373;

 L3344: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L3345;
    }
  goto L373;

 L3345: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L3347;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MOD)
    goto L3348;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3348: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3349;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3349: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3])
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 341;  /* *divmodsi4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3595: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3596;
    }
  goto L373;

 L3596: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L3597;
    }
  goto L373;

 L3597: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3598;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3598: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L3599;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3599: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UMOD)
    goto L3600;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3600: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3601;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L3601: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3])
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 350;  /* *udivmodsi4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L486: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L487;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L487: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L488;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L488: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    {
      return 75;  /* *swapsi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L6992: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L6993;
  goto L373;

 L6993: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6994;
  goto L373;

 L6994: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6995;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L6995: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10566 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
    {
      return 581;  /* *setcc_si_1_and */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L373;

 L374: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L375;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L393;

 L375: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 1783 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return 55;  /* *movsi_xor */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L393;

 L394: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L395;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30980;

 L395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 1793 "../../gcc/config/i386/i386.md"
(reload_completed
   && operands[1] == constm1_rtx))
    {
      return 57;  /* *movsi_or */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30980;

 L1058: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == FIX)
    goto L1059;
  goto ret0;

 L1059: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1060;
    }
  goto ret0;

 L1060: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1061;
  goto ret0;

 L1061: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L1062;
    }
  goto ret0;

 L1062: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4498 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || SImode != DImode))
	&& TARGET_SSE_MATH)))
    {
      return 162;  /* fix_truncsi_i387_fisttp */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_55 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L1820;
    case MULT:
      goto L2898;
    case DIV:
      goto L3367;
    case UDIV:
      goto L3619;
    case IOR:
      goto L4310;
    case XOR:
      goto L4326;
    case LSHIFTRT:
      goto L5048;
    case ASHIFT:
      goto L5492;
    case REG:
    case SUBREG:
      goto L31121;
    default:
      goto ret0;
   }
 L31121: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L493;
    }
  goto ret0;

 L1820: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L31130;
  goto ret0;

 L31130: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L1821;
    case MINUS:
      goto L2369;
    case MULT:
      goto L2913;
    case AND:
      goto L3879;
    case IOR:
      goto L4279;
    case XOR:
      goto L4295;
    case ASHIFT:
      goto L5658;
    default:
     break;
   }
  goto ret0;

 L1821: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L2700;
    }
  goto ret0;

 L2700: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L2701;
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L1823;
    }
  goto ret0;

 L2701: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (ix86_carry_flag_operator (x5, VOIDmode))
    {
      operands[3] = x5;
      goto L2702;
    }
  goto ret0;

 L2702: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) == REG
      && XINT (x6, 0) == 17)
    goto L2703;
  goto ret0;

 L2703: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2704;
  goto ret0;

 L2704: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x86_64_general_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L2705;
    }
  goto ret0;

 L2705: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2706;
  goto ret0;

 L2706: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6537 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 308;  /* *addsi3_carry_zext */
    }
  goto ret0;

 L1823: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1824;
  goto ret0;

 L1824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5582 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 252;  /* addsi_1_zext */
    }
  goto ret0;

 L2369: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L2724;
    }
  goto ret0;

 L2724: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L2725;
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2371;
    }
  goto ret0;

 L2725: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (ix86_carry_flag_operator (x5, VOIDmode))
    {
      operands[3] = x5;
      goto L2726;
    }
  goto ret0;

 L2726: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) == REG
      && XINT (x6, 0) == 17)
    goto L2727;
  goto ret0;

 L2727: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2728;
  goto ret0;

 L2728: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x86_64_general_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L2729;
    }
  goto ret0;

 L2729: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2730;
  goto ret0;

 L2730: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6552 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)))
    {
      return 309;  /* *subsi3_carry_zext */
    }
  goto ret0;

 L2371: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2372;
  goto ret0;

 L2372: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6426 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)))
    {
      return 288;  /* *subsi_1_zext */
    }
  goto ret0;

 L2913: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L2914;
    }
  goto ret0;

 L2914: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2915;
    }
  goto ret0;

 L2915: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2916;
  goto ret0;

 L2916: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6681 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 321;  /* *mulsi3_1_zext */
    }
  goto ret0;

 L3879: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L3880;
    }
  goto ret0;

 L3880: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L3881;
    }
  goto ret0;

 L3881: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3882;
  goto ret0;

 L3882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7817 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (AND, SImode, operands)))
    {
      return 369;  /* *andsi_1_zext */
    }
  goto ret0;

 L4279: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L4280;
    }
  goto ret0;

 L4280: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L4281;
    }
  goto ret0;

 L4281: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4282;
  goto ret0;

 L4282: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8212 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (IOR, SImode, operands)))
    {
      return 393;  /* *iorsi_1_zext */
    }
  goto ret0;

 L4295: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L4296;
    }
  goto ret0;

 L4296: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L4297;
    }
  goto ret0;

 L4297: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4298;
  goto ret0;

 L4298: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8212 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (XOR, SImode, operands)))
    {
      return 394;  /* *xorsi_1_zext */
    }
  goto ret0;

 L5658: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L5659;
    }
  goto ret0;

 L5659: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5660;
    }
  goto ret0;

 L5660: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5661;
  goto ret0;

 L5661: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9193 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ASHIFT, SImode, operands)))
    {
      return 490;  /* *ashlsi3_1_zext */
    }
  goto ret0;

 L2898: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L31139;
  goto ret0;

 L31139: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      goto L2989;
    case SIGN_EXTEND:
      goto L3025;
    case REG:
    case SUBREG:
    case MEM:
      goto L31137;
    default:
      goto L31138;
   }
 L31137: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L2899;
    }
 L31138: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2957;
    }
  goto ret0;

 L2989: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L2990;
    }
  goto ret0;

 L2990: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L2991;
  goto ret0;

 L2991: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2992;
    }
  goto ret0;

 L2992: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2993;
  goto ret0;

 L2993: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6827 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return 326;  /* *umulsidi3_1 */
    }
  goto ret0;

 L3025: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L3026;
    }
  goto ret0;

 L3026: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L3027;
  goto ret0;

 L3027: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L3028;
    }
  goto ret0;

 L3028: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3029;
  goto ret0;

 L3029: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6878 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return 328;  /* *mulsidi3_1 */
    }
  goto ret0;

 L2899: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2900;
    }
  x3 = XEXP (x2, 0);
  goto L31138;

 L2900: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2901;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31138;

 L2901: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6651 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 320;  /* *muldi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31138;

 L2957: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L2958;
    }
  goto ret0;

 L2958: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2959;
  goto ret0;

 L2959: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L2960;
    }
  goto ret0;

 L2960: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == TRUNCATE)
    goto L2961;
  goto ret0;

 L2961: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == TImode
      && GET_CODE (x3) == LSHIFTRT)
    goto L2962;
  goto ret0;

 L2962: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == TImode
      && GET_CODE (x4) == MULT)
    goto L2963;
  goto ret0;

 L2963: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == TImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L2964;
  goto ret0;

 L2964: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[2]))
    goto L2965;
  goto ret0;

 L2965: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == TImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L2966;
  goto ret0;

 L2966: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[3]))
    goto L2967;
  goto ret0;

 L2967: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (64)]
      && 
#line 6794 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 324;  /* *bmi2_umulditi3_1 */
    }
  goto ret0;

 L3367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3368;
    }
  goto ret0;

 L3368: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L3369;
    }
  goto ret0;

 L3369: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3370;
  goto ret0;

 L3370: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L3371;
    }
  goto ret0;

 L3371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MOD)
    goto L3372;
  goto ret0;

 L3372: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3373;
  goto ret0;

 L3373: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 342;  /* *divmoddi4 */
    }
  goto ret0;

 L3619: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3620;
    }
  goto ret0;

 L3620: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L3621;
    }
  goto ret0;

 L3621: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3622;
  goto ret0;

 L3622: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L3623;
    }
  goto ret0;

 L3623: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UMOD)
    goto L3624;
  goto ret0;

 L3624: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3625;
  goto ret0;

 L3625: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 351;  /* *udivmoddi4 */
    }
  goto ret0;

 L4310: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L4311;
  goto ret0;

 L4311: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L4312;
    }
  goto ret0;

 L4312: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_zext_immediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L4313;
    }
  goto ret0;

 L4313: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4314;
  goto ret0;

 L4314: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8223 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (IOR, SImode, operands)))
    {
      return 395;  /* *iorsi_1_zext_imm */
    }
  goto ret0;

 L4326: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L4327;
  goto ret0;

 L4327: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L4328;
    }
  goto ret0;

 L4328: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_zext_immediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L4329;
    }
  goto ret0;

 L4329: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4330;
  goto ret0;

 L4330: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8223 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (XOR, SImode, operands)))
    {
      return 396;  /* *xorsi_1_zext_imm */
    }
  goto ret0;

 L5048: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == NEG)
    goto L5049;
  goto ret0;

 L5049: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == ASHIFT)
    goto L5050;
  goto ret0;

 L5050: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, DImode))
    {
      operands[1] = x5;
      goto L5051;
    }
  goto ret0;

 L5051: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L5052;
  goto ret0;

 L5052: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L5053;
  goto ret0;

 L5053: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5054;
  goto ret0;

 L5054: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8546 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_unary_operator_ok (NEG, SImode, operands)))
    {
      return 437;  /* *negsi2_1_zext */
    }
  goto ret0;

 L5492: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_pm1_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L5493;
    }
  goto ret0;

 L5493: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5494;
    }
  goto ret0;

 L5494: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5495;
  goto ret0;

 L5495: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 479;  /* *ashldi3_doubleword */
    }
  goto ret0;

 L493: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L494;
  goto ret0;

 L494: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L495;
  goto ret0;

 L495: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 76;  /* *swapdi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_56 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case MEM:
      goto L31086;
    case ZERO_EXTRACT:
      goto L6917;
    default:
     break;
   }
 L30969: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L366;
    }
 L30971: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L492;
    }
 L30981: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L1071;
    }
 L30992: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5589;
    }
 L30993: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5934;
    }
 L30994: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L6040;
    }
  goto ret0;

 L31086: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L344;
    }
  goto L30969;

 L344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (general_no_elim_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L345;
    }
  x2 = XEXP (x1, 0);
  goto L30969;

 L345: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30969;

 L346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L347;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30969;

 L347: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 50;  /* *pushdi2_prologue */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30969;

 L6917: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L6918;
    }
  goto ret0;

 L6918: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L6919;
  goto ret0;

 L6919: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (const_0_to_63_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6950;
    }
  goto ret0;

 L6950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NOT)
    goto L6951;
  if (GET_CODE (x2) == CONST_INT)
    goto L31087;
  goto ret0;

 L6951: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L6952;
  goto ret0;

 L6952: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L6953;
  goto ret0;

 L6953: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L6954;
  goto ret0;

 L6954: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (rtx_equal_p (x4, operands[1]))
    goto L6955;
  goto ret0;

 L6955: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6956;
  goto ret0;

 L6956: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10423 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
    {
      return 577;  /* *btcq */
    }
  goto ret0;

 L31087: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x2, 0) == XWINT (x2, 0))
    switch ((int) XWINT (x2, 0))
      {
      case 1L:
        goto L6921;
      case 0L:
        goto L6936;
      default:
        break;
      }
  goto ret0;

 L6921: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6922;
  goto ret0;

 L6922: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10399 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
    {
      return 575;  /* *btsq */
    }
  goto ret0;

 L6936: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6937;
  goto ret0;

 L6937: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10411 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
    {
      return 576;  /* *btrq */
    }
  goto ret0;

 L366: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31089;
  x2 = XEXP (x1, 0);
  goto L30971;

 L31089: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MEM:
      goto L31098;
    case ZERO_EXTEND:
      goto L723;
    case FIX:
      goto L1131;
    case PLUS:
      goto L1731;
    case MINUS:
      goto L2284;
    case AND:
      goto L3850;
    case IOR:
      goto L4222;
    case XOR:
      goto L4236;
    case NEG:
      goto L4976;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L30971;

 L31098: ATTRIBUTE_UNUSED_LABEL
  if (pop_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L367;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L367: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L368;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L368: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L369;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L369: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 54;  /* *popdi1_epilogue */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L723: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L724;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L724: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L725;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L725: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 3478 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 115;  /* zero_extendsidi2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L1131: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1132;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L1132: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1133;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L1133: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case DImode:
      goto L31099;
    case CCmode:
      goto L31100;
    default:
      break;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31099: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1134;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L1134: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4512 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	&& (TARGET_64BIT || DImode != DImode))
	&& TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 166;  /* fix_truncdi_i387_fisttp_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31100: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || DImode != DImode))
   && can_create_pseudo_p ()))
    {
      return 169;  /* *fix_truncdi_i387_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L1731: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L2655;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L2655: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == PLUS)
    goto L2656;
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L1733;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L2656: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2657;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L2657: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2658;
  x2 = XEXP (x1, 0);
  goto L30971;

 L2658: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2659;
  x2 = XEXP (x1, 0);
  goto L30971;

 L2659: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L2660;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L2660: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2661;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L2661: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 306;  /* *adddi3_carry */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L1733: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1734;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L1734: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L31101;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31101: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L31103;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31103: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L31105;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31105: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5474 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return 245;  /* *adddi3_doubleword */
    }
 L31106: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5523 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 251;  /* *adddi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L2284: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L2677;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L2677: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == PLUS)
    goto L2678;
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2286;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L2678: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2679;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L2679: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2680;
  x2 = XEXP (x1, 0);
  goto L30971;

 L2680: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2681;
  x2 = XEXP (x1, 0);
  goto L30971;

 L2681: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L2682;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L2682: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2683;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L2683: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 307;  /* *subdi3_carry */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L2286: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2287;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L2287: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L31107;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31107: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L31109;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31109: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L31111;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31111: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6393 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return 282;  /* *subdi3_doubleword */
    }
 L31112: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6415 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 287;  /* *subdi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L3850: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L3851;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L3851: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_szext_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3852;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L3852: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3853;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L3853: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7718 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (AND, DImode, operands)))
    {
      return 367;  /* *anddi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L4222: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L31114;
  x2 = XEXP (x1, 0);
  goto L30971;

 L31114: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ASHIFT)
    goto L5521;
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L4223;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L5521: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L5522;
  x2 = XEXP (x1, 0);
  goto L30971;

 L5522: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5523;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L5523: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == LSHIFTRT)
    goto L5524;
  x2 = XEXP (x1, 0);
  goto L30971;

 L5524: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L5525;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L5525: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == QImode
      && GET_CODE (x4) == MINUS)
    goto L5526;
  x2 = XEXP (x1, 0);
  goto L30971;

 L5526: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (64)])
    goto L5527;
  x2 = XEXP (x1, 0);
  goto L30971;

 L5527: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, operands[2]))
    goto L5528;
  x2 = XEXP (x1, 0);
  goto L30971;

 L5528: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5529;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L5529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9018 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 481;  /* x86_64_shld */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L4223: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L4224;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L4224: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4225;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L4225: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (IOR, DImode, operands)) && (TARGET_64BIT)))
    {
      return 389;  /* *iordi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L4236: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L4237;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L4237: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L4238;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L4238: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4239;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L4239: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (XOR, DImode, operands)) && (TARGET_64BIT)))
    {
      return 390;  /* *xordi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L4976: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L4977;
    }
  x2 = XEXP (x1, 0);
  goto L30971;

 L4977: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4978;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L4978: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L31115;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31115: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L31117;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31117: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L31119;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L31119: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8510 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return 431;  /* *negdi2_doubleword */
    }
 L31120: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8533 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 436;  /* *negdi2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30971;

 L492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31122;
 L383: ATTRIBUTE_UNUSED_LABEL
  if (const0_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L384;
    }
 L403: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L404;
    }
  x2 = XEXP (x1, 0);
  goto L30981;

 L31122: ATTRIBUTE_UNUSED_LABEL
  tem = recog_55 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L383;

 L384: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L385;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L403;

 L385: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 1783 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 56;  /* *movdi_xor */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L403;

 L404: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L405;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30981;

 L405: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 1793 "../../gcc/config/i386/i386.md"
(reload_completed
   && operands[1] == constm1_rtx) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 58;  /* *movdi_or */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30981;

 L1071: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == FIX)
    goto L1072;
  x2 = XEXP (x1, 0);
  goto L30992;

 L1072: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1073;
    }
  x2 = XEXP (x1, 0);
  goto L30992;

 L1073: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1074;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30992;

 L1074: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L1075;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30992;

 L1075: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4498 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || DImode != DImode))
	&& TARGET_SSE_MATH)))
    {
      return 163;  /* fix_truncdi_i387_fisttp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30992;

 L5589: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31141;
  x2 = XEXP (x1, 0);
  goto L30993;

 L31141: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFT:
      goto L5590;
    case LSHIFTRT:
      goto L5895;
    case ASHIFTRT:
      goto L5915;
    case IOR:
      goto L5991;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5590: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L5591;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5591: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L5592;
 L5637: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5638;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5592: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L5593;
  goto L5637;

 L5593: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L5594;
    }
  goto L5637;

 L5594: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L5595;
    }
  goto L5637;

 L5595: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5596;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L5637;

 L5596: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9099 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 484;  /* *ashldi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L5637;

 L5638: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5639;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30993;

 L5639: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9122 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, DImode, operands)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 488;  /* *ashldi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30993;

 L5895: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L5896;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5896: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L5897;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5897: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L5898;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5898: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L5899;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5899: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L5900;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5900: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5901;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30993;

 L5901: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && (TARGET_64BIT)))
    {
      return 505;  /* *lshrdi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30993;

 L5915: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L5916;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5916: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L5917;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5917: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L5918;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5918: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L5919;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5919: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L5920;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5920: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5921;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30993;

 L5921: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && (TARGET_64BIT)))
    {
      return 506;  /* *ashrdi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30993;

 L5991: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ASHIFTRT)
    goto L5992;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5992: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L5993;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5993: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5994;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5994: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ASHIFT)
    goto L5995;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5995: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L5996;
    }
  x2 = XEXP (x1, 0);
  goto L30993;

 L5996: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == QImode
      && GET_CODE (x4) == MINUS)
    goto L5997;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5997: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (64)])
    goto L5998;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5998: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (rtx_equal_p (x5, operands[2]))
    goto L5999;
  x2 = XEXP (x1, 0);
  goto L30993;

 L5999: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6000;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30993;

 L6000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9645 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 511;  /* x86_64_shrd */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30993;

 L5934: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31145;
  x2 = XEXP (x1, 0);
  goto L30994;

 L31145: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case LSHIFTRT:
      goto L5935;
    case ASHIFTRT:
      goto L5949;
    case ZERO_EXTEND:
      goto L6069;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L30994;

 L5935: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L5936;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L5936: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5937;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L5937: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5938;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L5938: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 507;  /* *lshrdi3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L5949: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L5950;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L5950: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5951;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L5951: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5952;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L5952: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 508;  /* *ashrdi3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6069: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L31148;
  x2 = XEXP (x1, 0);
  goto L30994;

 L31148: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ASHIFTRT:
      goto L6070;
    case LSHIFTRT:
      goto L6180;
    case ROTATE:
      goto L6799;
    case ROTATERT:
      goto L6815;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6070: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31152;
  x2 = XEXP (x1, 0);
  goto L30994;

 L31152: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6071;
    }
 L31153: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6197;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6071: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6072;
    }
  x4 = XEXP (x3, 0);
  goto L31153;

 L6072: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6073;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31153;

 L6073: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9711 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && INTVAL (operands[2]) == 31
   && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
    {
      return 515;  /* *ashrsi3_cvt_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31153;

 L6197: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6198;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6198: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6199;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6199: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9820 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
    {
      return 527;  /* *ashrsi3_1_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6180: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6181;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6181: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6182;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6182: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6183;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6183: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9820 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (LSHIFTRT, SImode, operands)))
    {
      return 526;  /* *lshrsi3_1_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6799: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6800;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6800: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6801;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6801: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6802;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6802: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10205 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
    {
      return 567;  /* *rotlsi3_1_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6815: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6816;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6816: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6817;
    }
  x2 = XEXP (x1, 0);
  goto L30994;

 L6817: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6818;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6818: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10205 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
    {
      return 568;  /* *rotrsi3_1_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30994;

 L6040: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31154;
  goto ret0;

 L31154: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFTRT:
      goto L6041;
    case LSHIFTRT:
      goto L6137;
    case ROTATE:
      goto L6615;
    case ROTATERT:
      goto L6635;
    default:
     break;
   }
  goto ret0;

 L6041: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6042;
    }
  goto ret0;

 L6042: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6043;
    }
 L6152: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6153;
    }
  goto ret0;

 L6043: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6044;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6152;

 L6044: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9676 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && INTVAL (operands[2]) == 63
   && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
   && ix86_binary_operator_ok (ASHIFTRT, DImode, operands)))
    {
      return 513;  /* ashrdi3_cvt */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6152;

 L6153: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6154;
  goto ret0;

 L6154: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (ASHIFTRT, DImode, operands)) && (TARGET_64BIT)))
    {
      return 523;  /* *ashrdi3_1 */
    }
  goto ret0;

 L6137: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6138;
    }
  goto ret0;

 L6138: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6139;
    }
  goto ret0;

 L6139: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6140;
  goto ret0;

 L6140: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (LSHIFTRT, DImode, operands)) && (TARGET_64BIT)))
    {
      return 522;  /* *lshrdi3_1 */
    }
  goto ret0;

 L6615: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6616;
    }
  goto ret0;

 L6616: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L6617;
 L6764: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6765;
    }
  goto ret0;

 L6617: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L6618;
  goto L6764;

 L6618: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L6619;
    }
  goto L6764;

 L6619: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L6620;
    }
  goto L6764;

 L6620: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6621;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6764;

 L6621: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (ROTATE, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && (TARGET_64BIT)))
    {
      return 554;  /* *rotldi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6764;

 L6765: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6766;
  goto ret0;

 L6766: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (ROTATE, DImode, operands)) && (TARGET_64BIT)))
    {
      return 564;  /* *rotldi3_1 */
    }
  goto ret0;

 L6635: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6636;
    }
  goto ret0;

 L6636: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == SUBREG
      && XINT (x3, 1) == 0)
    goto L6637;
 L6778: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6779;
    }
  goto ret0;

 L6637: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == AND)
    goto L6638;
  goto L6778;

 L6638: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L6639;
    }
  goto L6778;

 L6639: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (const_int_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L6640;
    }
  goto L6778;

 L6640: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6641;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6778;

 L6641: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (ROTATERT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && (TARGET_64BIT)))
    {
      return 555;  /* *rotrdi3_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L6778;

 L6779: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6780;
  goto ret0;

 L6780: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
((ix86_binary_operator_ok (ROTATERT, DImode, operands)) && (TARGET_64BIT)))
    {
      return 565;  /* *rotrdi3_1 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_57 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L506;
    }
 L30979: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L1045;
    }
 L30982: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L1094;
    }
  goto ret0;

 L506: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L31172;
  x2 = XEXP (x1, 0);
  goto L30979;

 L31172: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L762;
    case MULT:
      goto L2928;
    case DIV:
      goto L3319;
    case IOR:
      goto L3465;
    case UDIV:
      goto L3571;
    case REG:
    case SUBREG:
      goto L31171;
    default:
      x2 = XEXP (x1, 0);
      goto L30979;
   }
 L31171: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L507;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L762: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L763;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L763: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L764;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L764: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L31177;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L31177: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L31179;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L31179: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L31181;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L31181: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3565 "../../gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
    {
      return 120;  /* *zero_extendqihi2_and */
    }
 L31182: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3591 "../../gcc/config/i386/i386.md"
(!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun)))
    {
      return 122;  /* *zero_extendqihi2_movzbl_and */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L2928: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode)
    goto L31184;
  x2 = XEXP (x1, 0);
  goto L30979;

 L31184: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case SIGN_EXTEND:
      goto L3061;
    case ZERO_EXTEND:
      goto L3079;
    case REG:
    case SUBREG:
    case MEM:
      goto L31183;
    default:
      x2 = XEXP (x1, 0);
      goto L30979;
   }
 L31183: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L2929;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3061: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L3062;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3062: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L3063;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3063: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L3064;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3064: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3065;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3065: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6898 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 330;  /* *mulqihi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3079: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L3080;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3080: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L3081;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3081: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L3082;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3082: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3083;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3083: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6898 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 331;  /* *umulqihi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L2929: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L2930;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L2930: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2931;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L2931: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6721 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 322;  /* *mulhi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3319: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L3320;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3320: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L3321;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3321: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3322;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3322: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L3323;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3323: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MOD)
    goto L3324;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3324: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3325;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3325: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 340;  /* *divmodhi4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3465: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == ASHIFT)
    goto L3466;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3466: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode
      && GET_CODE (x4) == ZERO_EXTEND)
    goto L3467;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3467: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == QImode
      && GET_CODE (x5) == TRUNCATE)
    goto L3468;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3468: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == MOD)
    goto L3469;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3469: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (register_operand (x7, HImode))
    {
      operands[1] = x7;
      goto L3470;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3470: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 1);
  if (GET_MODE (x7) == HImode)
    goto L31186;
  x2 = XEXP (x1, 0);
  goto L30979;

 L31186: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x7))
    {
    case SIGN_EXTEND:
      goto L3471;
    case ZERO_EXTEND:
      goto L3723;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3471: ATTRIBUTE_UNUSED_LABEL
  x8 = XEXP (x7, 0);
  if (nonimmediate_operand (x8, QImode))
    {
      operands[2] = x8;
      goto L3472;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3472: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L3473;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3473: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L3474;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3474: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode
      && GET_CODE (x4) == TRUNCATE)
    goto L3475;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3475: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == DIV)
    goto L3476;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3476: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L3477;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3477: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == SIGN_EXTEND)
    goto L3478;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3478: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L3479;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3479: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3480;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7220 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH))
    {
      return 346;  /* divmodhiqi3 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3723: ATTRIBUTE_UNUSED_LABEL
  x8 = XEXP (x7, 0);
  if (nonimmediate_operand (x8, QImode))
    {
      operands[2] = x8;
      goto L3724;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3724: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L3725;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L3726;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3726: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode
      && GET_CODE (x4) == TRUNCATE)
    goto L3727;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3727: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == HImode
      && GET_CODE (x5) == DIV)
    goto L3728;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3728: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (rtx_equal_p (x6, operands[1]))
    goto L3729;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3729: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == HImode
      && GET_CODE (x6) == ZERO_EXTEND)
    goto L3730;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3730: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (rtx_equal_p (x7, operands[2]))
    goto L3731;
  x2 = XEXP (x1, 0);
  goto L30979;

 L3731: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3732;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3732: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7361 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH))
    {
      return 355;  /* udivmodhiqi3 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3571: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L3572;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3572: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L3573;
    }
  x2 = XEXP (x1, 0);
  goto L30979;

 L3573: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3574;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3574: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L3575;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3575: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UMOD)
    goto L3576;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3576: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3577;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L3577: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 349;  /* *udivmodhi4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L507: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L508;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L508: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L509;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L509: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 2374 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    {
      return 78;  /* *swaphi_1 */
    }
 L523: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x2, operands[0])
      && 
#line 2390 "../../gcc/config/i386/i386.md"
(TARGET_PARTIAL_REG_STALL))
    {
      return 80;  /* *swaphi_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30979;

 L1045: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == FIX)
    goto L1046;
  x2 = XEXP (x1, 0);
  goto L30982;

 L1046: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1047;
    }
  x2 = XEXP (x1, 0);
  goto L30982;

 L1047: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1048;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30982;

 L1048: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L1049;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30982;

 L1049: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4498 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || HImode != DImode))
	&& TARGET_SSE_MATH)))
    {
      return 161;  /* fix_trunchi_i387_fisttp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30982;

 L1094: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L31188;
  goto ret0;

 L31188: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L1095;
    case PLUS:
      goto L1836;
    case MINUS:
      goto L2326;
    case AND:
      goto L3894;
    case IOR:
      goto L4166;
    case XOR:
      goto L4180;
    case NEG:
      goto L5012;
    case ASHIFT:
      goto L5673;
    case LSHIFTRT:
      goto L6239;
    case ASHIFTRT:
      goto L6253;
    case ROTATE:
      goto L6858;
    case ROTATERT:
      goto L6872;
    default:
     break;
   }
  goto ret0;

 L1095: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1096;
    }
  goto ret0;

 L1096: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1097;
  goto ret0;

 L1097: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L31200;
    case CCmode:
      goto L31201;
    default:
      break;
    }
  goto ret0;

 L31200: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1098;
    }
  goto ret0;

 L1098: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4512 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	&& (TARGET_64BIT || HImode != DImode))
	&& TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 164;  /* fix_trunchi_i387_fisttp_with_temp */
    }
  goto ret0;

 L31201: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || HImode != DImode))
   && can_create_pseudo_p ()))
    {
      return 167;  /* *fix_trunchi_i387_1 */
    }
  goto ret0;

 L1836: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L2567;
    }
  goto ret0;

 L2567: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == PLUS)
    goto L2568;
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L1838;
    }
  goto ret0;

 L2568: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2569;
    }
  goto ret0;

 L2569: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2570;
  goto ret0;

 L2570: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2571;
  goto ret0;

 L2571: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L2572;
    }
  goto ret0;

 L2572: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2573;
  goto ret0;

 L2573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
    {
      return 302;  /* *addhi3_carry */
    }
  goto ret0;

 L1838: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1839;
  goto ret0;

 L1839: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5632 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
    {
      return 253;  /* *addhi_1 */
    }
  goto ret0;

 L2326: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L2589;
    }
  goto ret0;

 L2589: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == PLUS)
    goto L2590;
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L2328;
    }
  goto ret0;

 L2590: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2591;
    }
  goto ret0;

 L2591: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2592;
  goto ret0;

 L2592: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2593;
  goto ret0;

 L2593: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L2594;
    }
  goto ret0;

 L2594: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2595;
  goto ret0;

 L2595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
    {
      return 303;  /* *subhi3_carry */
    }
  goto ret0;

 L2328: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2329;
  goto ret0;

 L2329: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6415 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, HImode, operands)))
    {
      return 285;  /* *subhi_1 */
    }
  goto ret0;

 L3894: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L3895;
    }
  goto ret0;

 L3895: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L3896;
    }
  goto ret0;

 L3896: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3897;
  goto ret0;

 L3897: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7827 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, HImode, operands)))
    {
      return 370;  /* *andhi_1 */
    }
  goto ret0;

 L4166: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L4167;
    }
  goto ret0;

 L4167: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L4168;
    }
  goto ret0;

 L4168: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4169;
  goto ret0;

 L4169: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8186 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, HImode, operands)))
    {
      return 385;  /* *iorhi_1 */
    }
  goto ret0;

 L4180: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L4181;
    }
  goto ret0;

 L4181: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L4182;
    }
  goto ret0;

 L4182: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4183;
  goto ret0;

 L4183: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8186 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, HImode, operands)))
    {
      return 386;  /* *xorhi_1 */
    }
  goto ret0;

 L5012: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L5013;
    }
  goto ret0;

 L5013: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5014;
  goto ret0;

 L5014: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8533 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, HImode, operands)))
    {
      return 434;  /* *neghi2_1 */
    }
  goto ret0;

 L5673: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L5674;
    }
  goto ret0;

 L5674: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5675;
    }
  goto ret0;

 L5675: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5676;
  goto ret0;

 L5676: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9252 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, HImode, operands)))
    {
      return 491;  /* *ashlhi3_1 */
    }
  goto ret0;

 L6239: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L6240;
    }
  goto ret0;

 L6240: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6241;
    }
  goto ret0;

 L6241: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6242;
  goto ret0;

 L6242: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9864 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, HImode, operands)))
    {
      return 530;  /* *lshrhi3_1 */
    }
  goto ret0;

 L6253: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L6254;
    }
  goto ret0;

 L6254: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6255;
    }
  goto ret0;

 L6255: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6256;
  goto ret0;

 L6256: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9864 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, HImode, operands)))
    {
      return 531;  /* *ashrhi3_1 */
    }
  goto ret0;

 L6858: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L6859;
    }
  goto ret0;

 L6859: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6860;
    }
  goto ret0;

 L6860: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6861;
  goto ret0;

 L6861: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10262 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, HImode, operands)))
    {
      return 571;  /* *rotlhi3_1 */
    }
  goto ret0;

 L6872: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L6873;
    }
  goto ret0;

 L6873: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6874;
    }
  goto ret0;

 L6874: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6875;
  goto ret0;

 L6875: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10262 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, HImode, operands)))
    {
      return 572;  /* *rotrhi3_1 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_58 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L1881;
    case NEG:
      goto L1947;
    case MINUS:
      goto L2401;
    case AND:
      goto L3952;
    case IOR:
      goto L4375;
    case XOR:
      goto L4388;
    case NOT:
      goto L5437;
    case ASHIFT:
      goto L5718;
    case LSHIFTRT:
      goto L6300;
    case ASHIFTRT:
      goto L6313;
    case REG:
    case SUBREG:
    case MEM:
      goto L31272;
    default:
      goto ret0;
   }
 L31272: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L2043;
    }
  goto ret0;

 L1881: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L1882;
    }
  goto ret0;

 L1882: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L1883;
    }
  goto ret0;

 L1883: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L1884;
  goto ret0;

 L1884: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L1885;
    case CLOBBER:
      goto L2092;
    default:
     break;
   }
  goto ret0;

 L1885: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L1886;
    }
  goto ret0;

 L1886: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == PLUS)
    goto L1887;
  goto ret0;

 L1887: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L1888;
  goto ret0;

 L1888: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 5834 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, QImode, operands)))
    {
      return 256;  /* *addqi_2 */
    }
  goto ret0;

 L2092: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L2093;
    }
  goto ret0;

 L2093: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6108 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 270;  /* *addqi_5 */
    }
  goto ret0;

 L1947: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L1948;
    }
  goto ret0;

 L1948: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L1949;
    }
  goto ret0;

 L1949: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1950;
  goto ret0;

 L1950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L1951;
    }
  goto ret0;

 L1951: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5926 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 261;  /* *addqi_3 */
    }
  goto ret0;

 L2401: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L2402;
    }
  goto ret0;

 L2402: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L2403;
    }
  goto ret0;

 L2403: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2404;
  goto ret0;

 L2404: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2405;
  goto ret0;

 L2405: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L2406;
    }
  goto ret0;

 L2406: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MINUS)
    goto L2407;
  goto ret0;

 L2407: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2408;
  goto ret0;

 L2408: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6451 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, QImode, operands)))
    {
      return 290;  /* *subqi_2 */
    }
  goto ret0;

 L3952: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode)
    goto L31308;
  goto ret0;

 L31308: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L3953;
    }
 L31309: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[0] = x4;
      goto L4019;
    }
  goto ret0;

 L3953: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L3954;
    }
  x4 = XEXP (x3, 0);
  goto L31309;

 L3954: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L3955;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31309;

 L3955: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3956;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31309;

 L3956: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L3957;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31309;

 L3957: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == AND)
    goto L3958;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31309;

 L3958: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L3959;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31309;

 L3959: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 7954 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, QImode, operands)
   && ix86_match_ccmode (insn,
			 CONST_INT_P (operands[2])
			 && INTVAL (operands[2]) >= 0 ? CCNOmode : CCZmode)))
    {
      return 374;  /* *andqi_2_maybe_si */
    }
 L3972: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x3, operands[2])
      && 
#line 7978 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (AND, QImode, operands)))
    {
      return 375;  /* *andqi_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31309;

 L4019: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L4020;
    }
  goto ret0;

 L4020: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4021;
  goto ret0;

 L4021: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L4022;
  goto ret0;

 L4022: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == STRICT_LOW_PART)
    goto L4023;
  goto ret0;

 L4023: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L4024;
  goto ret0;

 L4024: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == AND)
    goto L4025;
  goto ret0;

 L4025: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L4026;
  goto ret0;

 L4026: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8007 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 379;  /* *andqi_2_slp */
    }
  goto ret0;

 L4375: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode)
    goto L31310;
  goto ret0;

 L31310: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L4376;
    }
 L31311: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[0] = x4;
      goto L4536;
    }
  goto ret0;

 L4376: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L4377;
    }
  x4 = XEXP (x3, 0);
  goto L31311;

 L4377: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4378;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31311;

 L4378: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L4379;
    case CLOBBER:
      goto L4567;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31311;

 L4379: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L4380;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31311;

 L4380: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == IOR)
    goto L4381;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31311;

 L4381: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L4382;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31311;

 L4382: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8247 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, QImode, operands)))
    {
      return 399;  /* *iorqi_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31311;

 L4567: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L4568;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31311;

 L4568: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 413;  /* *iorqi_3 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31311;

 L4536: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L4537;
    }
  goto ret0;

 L4537: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4538;
  goto ret0;

 L4538: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L4539;
  goto ret0;

 L4539: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == STRICT_LOW_PART)
    goto L4540;
  goto ret0;

 L4540: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L4541;
  goto ret0;

 L4541: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == IOR)
    goto L4542;
  goto ret0;

 L4542: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L4543;
  goto ret0;

 L4543: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8289 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 411;  /* *iorqi_2_slp */
    }
  goto ret0;

 L4388: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode)
    goto L31312;
  goto ret0;

 L31312: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L4389;
    }
 L31313: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[0] = x4;
      goto L4550;
    }
  goto ret0;

 L4389: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L4390;
    }
  x4 = XEXP (x3, 0);
  goto L31313;

 L4390: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4391;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31313;

 L4391: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L4392;
    case CLOBBER:
      goto L4585;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31313;

 L4392: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L4393;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31313;

 L4393: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == XOR)
    goto L4394;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31313;

 L4394: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L4395;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31313;

 L4395: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8247 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, QImode, operands)))
    {
      return 400;  /* *xorqi_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31313;

 L4585: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L4586;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31313;

 L4586: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 414;  /* *xorqi_3 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31313;

 L4550: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L4551;
    }
  goto ret0;

 L4551: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4552;
  goto ret0;

 L4552: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L4553;
  goto ret0;

 L4553: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == STRICT_LOW_PART)
    goto L4554;
  goto ret0;

 L4554: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L4555;
  goto ret0;

 L4555: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == XOR)
    goto L4556;
  goto ret0;

 L4556: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L4557;
  goto ret0;

 L4557: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8289 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 412;  /* *xorqi_2_slp */
    }
  goto ret0;

 L5437: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L5438;
    }
  goto ret0;

 L5438: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5439;
  goto ret0;

 L5439: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5440;
  goto ret0;

 L5440: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L5441;
    }
  goto ret0;

 L5441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == NOT)
    goto L5442;
  goto ret0;

 L5442: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8899 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, QImode, operands)))
    {
      return 474;  /* *one_cmplqi2_2 */
    }
  goto ret0;

 L5718: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode)
    goto L31314;
  goto ret0;

 L31314: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L5719;
    }
 L31315: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L5785;
    }
  goto ret0;

 L5719: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5720;
    }
  x4 = XEXP (x3, 0);
  goto L31315;

 L5720: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5721;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31315;

 L5721: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5722;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31315;

 L5722: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L5723;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31315;

 L5723: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == ASHIFT)
    goto L5724;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31315;

 L5724: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L5725;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31315;

 L5725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9448 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFT, QImode, operands)))
    {
      return 494;  /* *ashlqi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31315;

 L5785: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5786;
    }
  goto ret0;

 L5786: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5787;
  goto ret0;

 L5787: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5788;
  goto ret0;

 L5788: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L5789;
    }
  goto ret0;

 L5789: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9543 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 499;  /* *ashlqi3_cconly */
    }
  goto ret0;

 L6300: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode)
    goto L31316;
  goto ret0;

 L31316: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L6301;
    }
 L31317: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L6433;
    }
  goto ret0;

 L6301: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6302;
    }
  x4 = XEXP (x3, 0);
  goto L31317;

 L6302: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6303;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31317;

 L6303: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L6304;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31317;

 L6304: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L6305;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31317;

 L6305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L6306;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31317;

 L6306: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L6307;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31317;

 L6307: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9920 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (LSHIFTRT, QImode, operands)))
    {
      return 534;  /* *lshrqi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31317;

 L6433: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6434;
    }
  goto ret0;

 L6434: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6435;
  goto ret0;

 L6435: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6436;
  goto ret0;

 L6436: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L6437;
    }
  goto ret0;

 L6437: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 544;  /* *lshrqi3_cconly */
    }
  goto ret0;

 L6313: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == QImode)
    goto L31318;
  goto ret0;

 L31318: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L6314;
    }
 L31319: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L6451;
    }
  goto ret0;

 L6314: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6315;
    }
  x4 = XEXP (x3, 0);
  goto L31319;

 L6315: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6316;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31319;

 L6316: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L6317;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31319;

 L6317: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L6318;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31319;

 L6318: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == ASHIFTRT)
    goto L6319;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31319;

 L6319: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L6320;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31319;

 L6320: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9920 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFTRT, QImode, operands)))
    {
      return 535;  /* *ashrqi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31319;

 L6451: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6452;
    }
  goto ret0;

 L6452: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6453;
  goto ret0;

 L6453: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6454;
  goto ret0;

 L6454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L6455;
    }
  goto ret0;

 L6455: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 545;  /* *ashrqi3_cconly */
    }
  goto ret0;

 L2043: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2044;
    }
 L2467: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2468;
    }
  goto ret0;

 L2044: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2045;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2467;

 L2045: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L2046;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2467;

 L2046: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6069 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
    {
      return 267;  /* *addqi_4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2467;

 L2468: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2469;
  goto ret0;

 L2469: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L2470;
    }
  goto ret0;

 L2470: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MINUS)
    goto L2471;
  goto ret0;

 L2471: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2472;
  goto ret0;

 L2472: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6479 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, QImode, operands)))
    {
      return 295;  /* *subqi_3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_59 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L1894;
    case NEG:
      goto L1964;
    case MINUS:
      goto L2414;
    case AND:
      goto L3978;
    case IOR:
      goto L4401;
    case XOR:
      goto L4414;
    case NOT:
      goto L5448;
    case ASHIFT:
      goto L5731;
    case LSHIFTRT:
      goto L6326;
    case ASHIFTRT:
      goto L6339;
    case REG:
    case SUBREG:
    case MEM:
      goto L31273;
    default:
      goto ret0;
   }
 L31273: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L2058;
    }
  goto ret0;

 L1894: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L1895;
    }
  goto ret0;

 L1895: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L1896;
    }
  goto ret0;

 L1896: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L1897;
  goto ret0;

 L1897: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L1898;
    case CLOBBER:
      goto L2110;
    default:
     break;
   }
  goto ret0;

 L1898: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L1899;
    }
  goto ret0;

 L1899: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == PLUS)
    goto L1900;
  goto ret0;

 L1900: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L1901;
  goto ret0;

 L1901: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 5834 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, HImode, operands)))
    {
      return 257;  /* *addhi_2 */
    }
  goto ret0;

 L2110: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L2111;
    }
  goto ret0;

 L2111: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6108 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 271;  /* *addhi_5 */
    }
  goto ret0;

 L1964: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L1965;
    }
  goto ret0;

 L1965: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L1966;
    }
  goto ret0;

 L1966: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1967;
  goto ret0;

 L1967: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L1968;
    }
  goto ret0;

 L1968: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5926 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 262;  /* *addhi_3 */
    }
  goto ret0;

 L2414: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L2415;
    }
  goto ret0;

 L2415: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L2416;
    }
  goto ret0;

 L2416: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2417;
  goto ret0;

 L2417: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2418;
  goto ret0;

 L2418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L2419;
    }
  goto ret0;

 L2419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MINUS)
    goto L2420;
  goto ret0;

 L2420: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2421;
  goto ret0;

 L2421: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6451 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, HImode, operands)))
    {
      return 291;  /* *subhi_2 */
    }
  goto ret0;

 L3978: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L3979;
    }
  goto ret0;

 L3979: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L3980;
    }
  goto ret0;

 L3980: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L3981;
  goto ret0;

 L3981: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3982;
  goto ret0;

 L3982: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L3983;
    }
  goto ret0;

 L3983: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == AND)
    goto L3984;
  goto ret0;

 L3984: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L3985;
  goto ret0;

 L3985: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 7978 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (AND, HImode, operands)))
    {
      return 376;  /* *andhi_2 */
    }
  goto ret0;

 L4401: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L4402;
    }
  goto ret0;

 L4402: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L4403;
    }
  goto ret0;

 L4403: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4404;
  goto ret0;

 L4404: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L4405;
    case CLOBBER:
      goto L4603;
    default:
     break;
   }
  goto ret0;

 L4405: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L4406;
    }
  goto ret0;

 L4406: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == IOR)
    goto L4407;
  goto ret0;

 L4407: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L4408;
  goto ret0;

 L4408: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8247 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, HImode, operands)))
    {
      return 401;  /* *iorhi_2 */
    }
  goto ret0;

 L4603: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L4604;
    }
  goto ret0;

 L4604: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 415;  /* *iorhi_3 */
    }
  goto ret0;

 L4414: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L4415;
    }
  goto ret0;

 L4415: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L4416;
    }
  goto ret0;

 L4416: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4417;
  goto ret0;

 L4417: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L4418;
    case CLOBBER:
      goto L4621;
    default:
     break;
   }
  goto ret0;

 L4418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L4419;
    }
  goto ret0;

 L4419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == XOR)
    goto L4420;
  goto ret0;

 L4420: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L4421;
  goto ret0;

 L4421: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8247 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, HImode, operands)))
    {
      return 402;  /* *xorhi_2 */
    }
  goto ret0;

 L4621: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L4622;
    }
  goto ret0;

 L4622: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 416;  /* *xorhi_3 */
    }
  goto ret0;

 L5448: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L5449;
    }
  goto ret0;

 L5449: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5450;
  goto ret0;

 L5450: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5451;
  goto ret0;

 L5451: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L5452;
    }
  goto ret0;

 L5452: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == NOT)
    goto L5453;
  goto ret0;

 L5453: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8899 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, HImode, operands)))
    {
      return 475;  /* *one_cmplhi2_2 */
    }
  goto ret0;

 L5731: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode)
    goto L31320;
  goto ret0;

 L31320: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L5732;
    }
 L31321: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L5803;
    }
  goto ret0;

 L5732: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5733;
    }
  x4 = XEXP (x3, 0);
  goto L31321;

 L5733: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5734;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31321;

 L5734: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5735;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31321;

 L5735: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L5736;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31321;

 L5736: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == ASHIFT)
    goto L5737;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31321;

 L5737: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L5738;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31321;

 L5738: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9448 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFT, HImode, operands)))
    {
      return 495;  /* *ashlhi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31321;

 L5803: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5804;
    }
  goto ret0;

 L5804: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5805;
  goto ret0;

 L5805: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5806;
  goto ret0;

 L5806: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L5807;
    }
  goto ret0;

 L5807: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9543 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 500;  /* *ashlhi3_cconly */
    }
  goto ret0;

 L6326: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode)
    goto L31322;
  goto ret0;

 L31322: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L6327;
    }
 L31323: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L6469;
    }
  goto ret0;

 L6327: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6328;
    }
  x4 = XEXP (x3, 0);
  goto L31323;

 L6328: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6329;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31323;

 L6329: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L6330;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31323;

 L6330: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L6331;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31323;

 L6331: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L6332;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31323;

 L6332: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L6333;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31323;

 L6333: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9920 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (LSHIFTRT, HImode, operands)))
    {
      return 536;  /* *lshrhi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31323;

 L6469: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6470;
    }
  goto ret0;

 L6470: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6471;
  goto ret0;

 L6471: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6472;
  goto ret0;

 L6472: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L6473;
    }
  goto ret0;

 L6473: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 546;  /* *lshrhi3_cconly */
    }
  goto ret0;

 L6339: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == HImode)
    goto L31324;
  goto ret0;

 L31324: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L6340;
    }
 L31325: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L6487;
    }
  goto ret0;

 L6340: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6341;
    }
  x4 = XEXP (x3, 0);
  goto L31325;

 L6341: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6342;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31325;

 L6342: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L6343;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31325;

 L6343: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L6344;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31325;

 L6344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == ASHIFTRT)
    goto L6345;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31325;

 L6345: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L6346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31325;

 L6346: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9920 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFTRT, HImode, operands)))
    {
      return 537;  /* *ashrhi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31325;

 L6487: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6488;
    }
  goto ret0;

 L6488: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6489;
  goto ret0;

 L6489: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6490;
  goto ret0;

 L6490: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L6491;
    }
  goto ret0;

 L6491: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 547;  /* *ashrhi3_cconly */
    }
  goto ret0;

 L2058: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L2059;
    }
 L2478: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L2479;
    }
  goto ret0;

 L2059: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2060;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2478;

 L2060: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L2061;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2478;

 L2061: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6069 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
    {
      return 268;  /* *addhi_4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2478;

 L2479: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2480;
  goto ret0;

 L2480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L2481;
    }
  goto ret0;

 L2481: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MINUS)
    goto L2482;
  goto ret0;

 L2482: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2483;
  goto ret0;

 L2483: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6479 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, HImode, operands)))
    {
      return 296;  /* *subhi_3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_60 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L1907;
    case NEG:
      goto L1981;
    case MINUS:
      goto L2427;
    case AND:
      goto L3991;
    case IOR:
      goto L4427;
    case XOR:
      goto L4440;
    case NOT:
      goto L5459;
    case ASHIFT:
      goto L5744;
    case LSHIFTRT:
      goto L6352;
    case ASHIFTRT:
      goto L6365;
    case REG:
    case SUBREG:
    case MEM:
      goto L31274;
    default:
      goto L31279;
   }
 L31274: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2073;
    }
 L31279: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L2511;
    }
  goto ret0;

 L1907: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L1908;
    }
  goto ret0;

 L1908: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L1909;
    }
  goto ret0;

 L1909: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L1910;
  goto ret0;

 L1910: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L1911;
    case CLOBBER:
      goto L2128;
    default:
     break;
   }
  goto ret0;

 L1911: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31326;
    case DImode:
      goto L31327;
    default:
      break;
    }
  goto ret0;

 L31326: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L1912;
    }
  goto ret0;

 L1912: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L1913;
  goto ret0;

 L1913: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L1914;
  goto ret0;

 L1914: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 5834 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 258;  /* *addsi_2 */
    }
  goto ret0;

 L31327: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L1938;
    }
  goto ret0;

 L1938: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L1939;
  goto ret0;

 L1939: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L1940;
  goto ret0;

 L1940: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L1941;
  goto ret0;

 L1941: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 5882 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 260;  /* *addsi_2_zext */
    }
  goto ret0;

 L2128: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L2129;
    }
  goto ret0;

 L2129: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6108 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 272;  /* *addsi_5 */
    }
  goto ret0;

 L1981: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L1982;
    }
  goto ret0;

 L1982: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1983;
    }
  goto ret0;

 L1983: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case CLOBBER:
      goto L1984;
    case SET:
      goto L2018;
    default:
     break;
   }
  goto ret0;

 L1984: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L1985;
    }
  goto ret0;

 L1985: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5926 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 263;  /* *addsi_3 */
    }
  goto ret0;

 L2018: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2019;
    }
  goto ret0;

 L2019: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L2020;
  goto ret0;

 L2020: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L2021;
  goto ret0;

 L2021: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L2022;
  goto ret0;

 L2022: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 5973 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCZmode)
   && ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 265;  /* *addsi_3_zext */
    }
  goto ret0;

 L2427: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31328;
  goto ret0;

 L31328: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L2428;
    }
 L31329: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L2454;
    }
  goto ret0;

 L2428: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2429;
    }
  x4 = XEXP (x3, 0);
  goto L31329;

 L2429: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2430;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31329;

 L2430: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2431;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31329;

 L2431: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L2432;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31329;

 L2432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MINUS)
    goto L2433;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31329;

 L2433: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2434;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31329;

 L2434: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6451 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, SImode, operands)))
    {
      return 292;  /* *subsi_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31329;

 L2454: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2455;
    }
  goto ret0;

 L2455: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2456;
  goto ret0;

 L2456: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2457;
  goto ret0;

 L2457: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2458;
    }
  goto ret0;

 L2458: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L2459;
  goto ret0;

 L2459: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == MINUS)
    goto L2460;
  goto ret0;

 L2460: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L2461;
  goto ret0;

 L2461: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 6467 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, SImode, operands)))
    {
      return 294;  /* *subsi_2_zext */
    }
  goto ret0;

 L3991: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31331;
  goto ret0;

 L31331: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == ZERO_EXTRACT)
    goto L4059;
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L3992;
    }
  goto ret0;

 L4059: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (ext_register_operand (x5, VOIDmode))
    {
      operands[1] = x5;
      goto L4060;
    }
  goto ret0;

 L4060: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4061;
  goto ret0;

 L4061: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4062;
  goto ret0;

 L4062: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L4063;
    }
  goto ret0;

 L4063: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4064;
  goto ret0;

 L4064: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L4065;
  goto ret0;

 L4065: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L4066;
  goto ret0;

 L4066: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L4067;
    }
  goto ret0;

 L4067: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4068;
  goto ret0;

 L4068: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4069;
  goto ret0;

 L4069: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == AND)
    goto L4070;
  goto ret0;

 L4070: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L4071;
  goto ret0;

 L4071: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L4072;
  goto ret0;

 L4072: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4073;
  goto ret0;

 L4073: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4074;
  goto ret0;

 L4074: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8056 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return 381;  /* *andqi_ext_0_cc */
    }
  goto ret0;

 L3992: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L3993;
    }
  goto ret0;

 L3993: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L3994;
  goto ret0;

 L3994: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3995;
  goto ret0;

 L3995: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31332;
    case DImode:
      goto L31333;
    default:
      break;
    }
  goto ret0;

 L31332: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L3996;
    }
  goto ret0;

 L3996: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == AND)
    goto L3997;
  goto ret0;

 L3997: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L3998;
  goto ret0;

 L3998: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 7978 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (AND, SImode, operands)))
    {
      return 377;  /* *andsi_2 */
    }
  goto ret0;

 L31333: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4009;
    }
  goto ret0;

 L4009: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L4010;
  goto ret0;

 L4010: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == AND)
    goto L4011;
  goto ret0;

 L4011: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L4012;
  goto ret0;

 L4012: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 7993 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (AND, SImode, operands)))
    {
      return 378;  /* *andsi_2_zext */
    }
  goto ret0;

 L4427: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L4428;
    }
  goto ret0;

 L4428: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L4429;
    }
 L4508: ATTRIBUTE_UNUSED_LABEL
  if (x86_64_zext_immediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L4509;
    }
  goto ret0;

 L4429: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4430;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4430: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L4431;
    case CLOBBER:
      goto L4639;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4431: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31334;
    case DImode:
      goto L31335;
    default:
      break;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L31334: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L4432;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == IOR)
    goto L4433;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4433: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L4434;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4434: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8247 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, SImode, operands)))
    {
      return 403;  /* *iorsi_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L31335: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4484;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4484: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L4485;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4485: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == IOR)
    goto L4486;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4486: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L4487;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4487: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 8262 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, SImode, operands)))
    {
      return 407;  /* *iorsi_2_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4639: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L4640;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4640: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 417;  /* *iorsi_3 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4508;

 L4509: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4510;
  goto ret0;

 L4510: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L4511;
  goto ret0;

 L4511: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4512;
    }
  goto ret0;

 L4512: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == IOR)
    goto L4513;
  goto ret0;

 L4513: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L4514;
  goto ret0;

 L4514: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L4515;
  goto ret0;

 L4515: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8276 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, SImode, operands)))
    {
      return 409;  /* *iorsi_2_zext_imm */
    }
  goto ret0;

 L4440: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31337;
  goto ret0;

 L31337: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == ZERO_EXTRACT)
    goto L4934;
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L4441;
    }
  goto ret0;

 L4934: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (ext_register_operand (x5, VOIDmode))
    {
      operands[1] = x5;
      goto L4935;
    }
  goto ret0;

 L4935: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4936;
  goto ret0;

 L4936: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 2);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4937;
  goto ret0;

 L4937: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L4938;
    }
 L4959: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L4960;
    }
  goto ret0;

 L4938: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4939;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4939: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L4940;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4940: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L4941;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4941: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L4942;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4942: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4943;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4943: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4944;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4944: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == XOR)
    goto L4945;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4945: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L4946;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4946: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L4947;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4947: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4948;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4948: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4949;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4949: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8467 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)))
    {
      return 429;  /* *xorqi_cc_ext_1_rex64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4959;

 L4960: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4961;
  goto ret0;

 L4961: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L4962;
  goto ret0;

 L4962: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ZERO_EXTRACT)
    goto L4963;
  goto ret0;

 L4963: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ext_register_operand (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L4964;
    }
  goto ret0;

 L4964: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4965;
  goto ret0;

 L4965: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4966;
  goto ret0;

 L4966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == XOR)
    goto L4967;
  goto ret0;

 L4967: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L4968;
  goto ret0;

 L4968: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L4969;
  goto ret0;

 L4969: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4970;
  goto ret0;

 L4970: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L4971;
  goto ret0;

 L4971: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8492 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)))
    {
      return 430;  /* *xorqi_cc_ext_1 */
    }
  goto ret0;

 L4441: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L4442;
    }
 L4522: ATTRIBUTE_UNUSED_LABEL
  if (x86_64_zext_immediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L4523;
    }
  goto ret0;

 L4442: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4443;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4443: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L4444;
    case CLOBBER:
      goto L4657;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31338;
    case DImode:
      goto L31339;
    default:
      break;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L31338: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L4445;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4445: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == XOR)
    goto L4446;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4446: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L4447;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4447: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8247 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, SImode, operands)))
    {
      return 404;  /* *xorsi_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L31339: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4498;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4498: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L4499;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4499: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == XOR)
    goto L4500;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4500: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L4501;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4501: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 8262 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, SImode, operands)))
    {
      return 408;  /* *xorsi_2_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4657: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L4658;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4658: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 418;  /* *xorsi_3 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L4522;

 L4523: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4524;
  goto ret0;

 L4524: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L4525;
  goto ret0;

 L4525: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4526;
    }
  goto ret0;

 L4526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == XOR)
    goto L4527;
  goto ret0;

 L4527: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L4528;
  goto ret0;

 L4528: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L4529;
  goto ret0;

 L4529: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 8276 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, SImode, operands)))
    {
      return 410;  /* *xorsi_2_zext_imm */
    }
  goto ret0;

 L5459: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31340;
  goto ret0;

 L31340: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L5460;
    }
 L31341: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L5482;
    }
  goto ret0;

 L5460: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5461;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31341;

 L5461: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5462;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31341;

 L5462: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L5463;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31341;

 L5463: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == NOT)
    goto L5464;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31341;

 L5464: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8899 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, SImode, operands)))
    {
      return 476;  /* *one_cmplsi2_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31341;

 L5482: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5483;
  goto ret0;

 L5483: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5484;
  goto ret0;

 L5484: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5485;
    }
  goto ret0;

 L5485: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L5486;
  goto ret0;

 L5486: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == NOT)
    goto L5487;
  goto ret0;

 L5487: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1])
      && 
#line 8926 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, SImode, operands)))
    {
      return 478;  /* *one_cmplsi2_2_zext */
    }
  goto ret0;

 L5744: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31342;
  goto ret0;

 L31342: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L5745;
    }
 L31343: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L5771;
    }
  goto ret0;

 L5745: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5746;
    }
  x4 = XEXP (x3, 0);
  goto L31343;

 L5746: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5747;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31343;

 L5747: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5748;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31343;

 L5748: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L5749;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31343;

 L5749: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ASHIFT)
    goto L5750;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31343;

 L5750: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L5751;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31343;

 L5751: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9448 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFT, SImode, operands)))
    {
      return 496;  /* *ashlsi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31343;

 L5771: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5772;
    }
  goto ret0;

 L5772: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5773;
  goto ret0;

 L5773: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L5774;
    case CLOBBER:
      goto L5824;
    default:
     break;
   }
  goto ret0;

 L5774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5775;
    }
  goto ret0;

 L5775: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L5776;
  goto ret0;

 L5776: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ASHIFT)
    goto L5777;
  goto ret0;

 L5777: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L5778;
  goto ret0;

 L5778: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 9496 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && (optimize_function_for_size_p (cfun)
       || !TARGET_PARTIAL_FLAG_REG_STALL
       || (operands[2] == const1_rtx
	   && (TARGET_SHIFT1
	       || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFT, SImode, operands)))
    {
      return 498;  /* *ashlsi3_cmp_zext */
    }
  goto ret0;

 L5824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L5825;
    }
  goto ret0;

 L5825: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9543 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 501;  /* *ashlsi3_cconly */
    }
  goto ret0;

 L6352: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31344;
  goto ret0;

 L31344: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6353;
    }
 L31345: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6405;
    }
  goto ret0;

 L6353: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6354;
    }
  x4 = XEXP (x3, 0);
  goto L31345;

 L6354: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6355;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31345;

 L6355: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L6356;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31345;

 L6356: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L6357;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31345;

 L6357: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L6358;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31345;

 L6358: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L6359;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31345;

 L6359: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9920 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (LSHIFTRT, SImode, operands)))
    {
      return 538;  /* *lshrsi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31345;

 L6405: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6406;
    }
  goto ret0;

 L6406: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6407;
  goto ret0;

 L6407: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L6408;
    case CLOBBER:
      goto L6508;
    default:
     break;
   }
  goto ret0;

 L6408: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L6409;
    }
  goto ret0;

 L6409: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L6410;
  goto ret0;

 L6410: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == LSHIFTRT)
    goto L6411;
  goto ret0;

 L6411: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L6412;
  goto ret0;

 L6412: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 9951 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && (optimize_function_for_size_p (cfun)
       || !TARGET_PARTIAL_FLAG_REG_STALL
       || (operands[2] == const1_rtx
	   && TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (LSHIFTRT, SImode, operands)))
    {
      return 542;  /* *lshrsi3_cmp_zext */
    }
  goto ret0;

 L6508: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L6509;
    }
  goto ret0;

 L6509: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 548;  /* *lshrsi3_cconly */
    }
  goto ret0;

 L6365: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31346;
  goto ret0;

 L31346: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6366;
    }
 L31347: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L6419;
    }
  goto ret0;

 L6366: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6367;
    }
  x4 = XEXP (x3, 0);
  goto L31347;

 L6367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6368;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31347;

 L6368: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L6369;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31347;

 L6369: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L6370;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31347;

 L6370: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == ASHIFTRT)
    goto L6371;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31347;

 L6371: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L6372;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31347;

 L6372: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 9920 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
    {
      return 539;  /* *ashrsi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31347;

 L6419: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_31_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6420;
    }
  goto ret0;

 L6420: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6421;
  goto ret0;

 L6421: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L6422;
    case CLOBBER:
      goto L6526;
    default:
     break;
   }
  goto ret0;

 L6422: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L6423;
    }
  goto ret0;

 L6423: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L6424;
  goto ret0;

 L6424: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ASHIFTRT)
    goto L6425;
  goto ret0;

 L6425: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L6426;
  goto ret0;

 L6426: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 9951 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && (optimize_function_for_size_p (cfun)
       || !TARGET_PARTIAL_FLAG_REG_STALL
       || (operands[2] == const1_rtx
	   && TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
    {
      return 543;  /* *ashrsi3_cmp_zext */
    }
  goto ret0;

 L6526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L6527;
    }
  goto ret0;

 L6527: ATTRIBUTE_UNUSED_LABEL
  if (
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)))
    {
      return 549;  /* *ashrsi3_cconly */
    }
  goto ret0;

 L2073: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2074;
    }
 L2489: ATTRIBUTE_UNUSED_LABEL
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2490;
    }
  x3 = XEXP (x2, 0);
  goto L31279;

 L2074: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2075;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2489;

 L2075: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L2076;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2489;

 L2076: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6069 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
    {
      return 269;  /* *addsi_4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2489;

 L2490: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2491;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31279;

 L2491: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L2492;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31279;

 L2492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MINUS)
    goto L2493;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31279;

 L2493: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2494;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31279;

 L2494: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6479 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, SImode, operands)))
    {
      return 297;  /* *subsi_3 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L31279;

 L2511: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L2512;
    }
  goto ret0;

 L2512: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2513;
  goto ret0;

 L2513: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2514;
    }
  goto ret0;

 L2514: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L2515;
  goto ret0;

 L2515: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == MINUS)
    goto L2516;
  goto ret0;

 L2516: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L2517;
  goto ret0;

 L2517: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 6493 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, SImode, operands)))
    {
      return 299;  /* *subsi_3_zext */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_61 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L1920;
    case NEG:
      goto L1998;
    case MINUS:
      goto L2440;
    case AND:
      goto L3939;
    case IOR:
      goto L4453;
    case XOR:
      goto L4466;
    case NOT:
      goto L5470;
    case ASHIFT:
      goto L5757;
    case LSHIFTRT:
      goto L6378;
    case ASHIFTRT:
      goto L6391;
    case REG:
    case SUBREG:
    case MEM:
      goto L31271;
    default:
      goto ret0;
   }
 L31271: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L2028;
    }
  goto ret0;

 L1920: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L1921;
    }
  goto ret0;

 L1921: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L1922;
    }
  goto ret0;

 L1922: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L1923;
  goto ret0;

 L1923: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L1924;
    case CLOBBER:
      goto L2146;
    default:
     break;
   }
  goto ret0;

 L1924: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L1925;
    }
  goto ret0;

 L1925: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L1926;
  goto ret0;

 L1926: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L1927;
  goto ret0;

 L1927: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && (
#line 5834 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 259;  /* *adddi_2 */
    }
  goto ret0;

 L2146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2147;
    }
  goto ret0;

 L2147: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6108 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 273;  /* *adddi_5 */
    }
  goto ret0;

 L1998: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (x86_64_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L1999;
    }
  goto ret0;

 L1999: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L2000;
    }
  goto ret0;

 L2000: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2001;
  goto ret0;

 L2001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2002;
    }
  goto ret0;

 L2002: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5926 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 264;  /* *adddi_3 */
    }
  goto ret0;

 L2440: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L2441;
    }
  goto ret0;

 L2441: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L2442;
    }
  goto ret0;

 L2442: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2443;
  goto ret0;

 L2443: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2444;
  goto ret0;

 L2444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2445;
    }
  goto ret0;

 L2445: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MINUS)
    goto L2446;
  goto ret0;

 L2446: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2447;
  goto ret0;

 L2447: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && (
#line 6451 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 293;  /* *subdi_2 */
    }
  goto ret0;

 L3939: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L3940;
    }
  goto ret0;

 L3940: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_szext_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L3941;
    }
  goto ret0;

 L3941: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L3942;
  goto ret0;

 L3942: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3943;
  goto ret0;

 L3943: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L3944;
    }
  goto ret0;

 L3944: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == AND)
    goto L3945;
  goto ret0;

 L3945: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L3946;
  goto ret0;

 L3946: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 7926 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && ix86_match_ccmode
	(insn,
	 /* If we are going to emit andl instead of andq, and the operands[2]
	    constant might have the SImode sign bit set, make sure the sign
	    flag isn't tested, because the instruction will set the sign flag
	    based on bit 31 rather than bit 63.  If it isn't CONST_INT,
	    conservatively assume it might have bit 31 set.  */
	 (satisfies_constraint_Z (operands[2])
	  && (!CONST_INT_P (operands[2])
	      || val_signbit_known_set_p (SImode, INTVAL (operands[2]))))
	 ? CCZmode : CCNOmode)
   && ix86_binary_operator_ok (AND, DImode, operands)))
    {
      return 373;  /* *anddi_2 */
    }
  goto ret0;

 L4453: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L4454;
    }
  goto ret0;

 L4454: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L4455;
    }
  goto ret0;

 L4455: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4456;
  goto ret0;

 L4456: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L4457;
    case CLOBBER:
      goto L4675;
    default:
     break;
   }
  goto ret0;

 L4457: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4458;
    }
  goto ret0;

 L4458: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == IOR)
    goto L4459;
  goto ret0;

 L4459: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L4460;
  goto ret0;

 L4460: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
((ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, DImode, operands)) && (TARGET_64BIT)))
    {
      return 405;  /* *iordi_2 */
    }
  goto ret0;

 L4675: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4676;
    }
  goto ret0;

 L4676: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 419;  /* *iordi_3 */
    }
  goto ret0;

 L4466: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L4467;
    }
  goto ret0;

 L4467: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L4468;
    }
  goto ret0;

 L4468: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L4469;
  goto ret0;

 L4469: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L4470;
    case CLOBBER:
      goto L4693;
    default:
     break;
   }
  goto ret0;

 L4470: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4471;
    }
  goto ret0;

 L4471: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == XOR)
    goto L4472;
  goto ret0;

 L4472: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L4473;
  goto ret0;

 L4473: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
((ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, DImode, operands)) && (TARGET_64BIT)))
    {
      return 406;  /* *xordi_2 */
    }
  goto ret0;

 L4693: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L4694;
    }
  goto ret0;

 L4694: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8303 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 420;  /* *xordi_3 */
    }
  goto ret0;

 L5470: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L5471;
    }
  goto ret0;

 L5471: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5472;
  goto ret0;

 L5472: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5473;
  goto ret0;

 L5473: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5474;
    }
  goto ret0;

 L5474: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NOT)
    goto L5475;
  goto ret0;

 L5475: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && (
#line 8899 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 477;  /* *one_cmpldi2_2 */
    }
  goto ret0;

 L5757: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode)
    goto L31348;
  goto ret0;

 L31348: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L5758;
    }
 L31349: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L5839;
    }
  goto ret0;

 L5758: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_63_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5759;
    }
  x4 = XEXP (x3, 0);
  goto L31349;

 L5759: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5760;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31349;

 L5760: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5761;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31349;

 L5761: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5762;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31349;

 L5762: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ASHIFT)
    goto L5763;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31349;

 L5763: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L5764;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31349;

 L5764: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && (
#line 9448 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFT, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 497;  /* *ashldi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31349;

 L5839: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_63_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L5840;
    }
  goto ret0;

 L5840: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5841;
  goto ret0;

 L5841: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5842;
  goto ret0;

 L5842: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5843;
    }
  goto ret0;

 L5843: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9543 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& (TARGET_SHIFT1
	    || TARGET_DOUBLE_WITH_ADD)))
   && ix86_match_ccmode (insn, CCGOCmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 502;  /* *ashldi3_cconly */
    }
  goto ret0;

 L6378: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode)
    goto L31350;
  goto ret0;

 L31350: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L6379;
    }
 L31351: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L6541;
    }
  goto ret0;

 L6379: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_63_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6380;
    }
  x4 = XEXP (x3, 0);
  goto L31351;

 L6380: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6381;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31351;

 L6381: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L6382;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31351;

 L6382: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L6383;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31351;

 L6383: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L6384;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31351;

 L6384: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L6385;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31351;

 L6385: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
(((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (LSHIFTRT, DImode, operands)) && (TARGET_64BIT)))
    {
      return 540;  /* *lshrdi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31351;

 L6541: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_63_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6542;
    }
  goto ret0;

 L6542: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6543;
  goto ret0;

 L6543: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6544;
  goto ret0;

 L6544: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L6545;
    }
  goto ret0;

 L6545: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 550;  /* *lshrdi3_cconly */
    }
  goto ret0;

 L6391: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode)
    goto L31352;
  goto ret0;

 L31352: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L6392;
    }
 L31353: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L6559;
    }
  goto ret0;

 L6392: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_63_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6393;
    }
  x4 = XEXP (x3, 0);
  goto L31353;

 L6393: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6394;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31353;

 L6394: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L6395;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31353;

 L6395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L6396;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31353;

 L6396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ASHIFTRT)
    goto L6397;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31353;

 L6397: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L6398;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31353;

 L6398: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
(((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (ASHIFTRT, DImode, operands)) && (TARGET_64BIT)))
    {
      return 541;  /* *ashrdi3_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31353;

 L6559: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_1_to_63_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L6560;
    }
  goto ret0;

 L6560: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L6561;
  goto ret0;

 L6561: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6562;
  goto ret0;

 L6562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L6563;
    }
  goto ret0;

 L6563: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 9983 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[2] == const1_rtx
	&& TARGET_SHIFT1))
   && ix86_match_ccmode (insn, CCGOCmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 551;  /* *ashrdi3_cconly */
    }
  goto ret0;

 L2028: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_immediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2029;
    }
 L2500: ATTRIBUTE_UNUSED_LABEL
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L2501;
    }
  goto ret0;

 L2029: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2030;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2500;

 L2030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2031;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2500;

 L2031: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6024 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && ix86_match_ccmode (insn, CCGCmode)))
    {
      return 266;  /* *adddi_4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L2500;

 L2501: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L2502;
  goto ret0;

 L2502: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2503;
    }
  goto ret0;

 L2503: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MINUS)
    goto L2504;
  goto ret0;

 L2504: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2505;
  goto ret0;

 L2505: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && (
#line 6479 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 298;  /* *subdi_3 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_62 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      goto L31400;
    case CTZ:
      goto L7966;
    case CLZ:
      goto L8002;
    case AND:
      goto L8026;
    case XOR:
      goto L8116;
    case ZERO_EXTRACT:
      goto L8244;
    case IOR:
      goto L8310;
    case MINUS:
      goto L8618;
    case POPCOUNT:
      goto L8662;
    case PLUS:
      goto L8922;
    case IF_THEN_ELSE:
      goto L10693;
    case SIGN_EXTRACT:
      goto L10731;
    case NEG:
      goto L10769;
    case UNSPEC_VOLATILE:
      goto L31405;
    default:
     break;
   }
  goto ret0;

 L31400: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L31410;
    case 2:
      goto L31411;
    case 4:
      goto L31412;
    case 5:
      goto L31415;
    case 3:
      goto L31416;
    default:
      break;
    }
  goto ret0;

 L31410: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 13L:
      goto L7850;
    case 54L:
      goto L9769;
    default:
      break;
    }
  goto ret0;

 L7850: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  switch (GET_CODE (x3))
    {
    case CONST_INT:
      goto L31417;
    case LABEL_REF:
      goto L7862;
    default:
     break;
   }
  goto ret0;

 L31417: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x3, 0) == 0L)
    goto L7851;
  goto ret0;

 L7851: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7852;
  goto ret0;

 L7852: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 11812 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 645;  /* set_got */
    }
  goto ret0;

 L7862: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  goto L7863;

 L7863: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7864;
  goto ret0;

 L7864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 11822 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 646;  /* set_got_labelled */
    }
  goto ret0;

 L9769: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9770;
    }
  goto ret0;

 L9770: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9771;
  goto ret0;

 L9771: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L9772;
    }
  goto ret0;

 L9772: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14775 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 820;  /* fistsi2_with_temp */
    }
  goto ret0;

 L31411: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 82)
    goto L8058;
  goto ret0;

 L8058: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8059;
    }
  goto ret0;

 L8059: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8060;
    }
  goto ret0;

 L8060: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8061;
  goto ret0;

 L8061: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12095 "../../gcc/config/i386/i386.md"
(TARGET_BMI))
    {
      return 665;  /* bmi_bextr_si */
    }
  goto ret0;

 L31412: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 21L:
      goto L8996;
    case 23L:
      goto L10656;
    default:
      break;
    }
  goto ret0;

 L8996: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (tls_symbolic_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8997;
    }
  goto ret0;

 L8997: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8998;
    }
  goto ret0;

 L8998: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L8999;
    }
  goto ret0;

 L8999: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L9000;
  goto ret0;

 L9000: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9001;
  goto ret0;

 L9001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12868 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS))
    {
      return 732;  /* *tls_dynamic_gnu2_call_32 */
    }
  goto ret0;

 L10656: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L10657;
  goto ret0;

 L10657: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L10658;
    }
  goto ret0;

 L10658: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L10659;
    }
  goto ret0;

 L10659: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10660;
    }
  goto ret0;

 L10660: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L10661;
    }
  goto ret0;

 L10661: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10662;
  goto ret0;

 L10662: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10663;
    }
  goto ret0;

 L10663: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16235 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 882;  /* *strlenqi_1 */
    }
  goto ret0;

 L31415: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 109)
    goto L18984;
  goto ret0;

 L18984: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L18985;
    }
  goto ret0;

 L18985: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L18986;
    }
  goto ret0;

 L18986: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[3] = x3;
      goto L18987;
    }
  goto ret0;

 L18987: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L18988;
    }
  goto ret0;

 L18988: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[5] = x3;
      goto L18989;
    }
  goto ret0;

 L18989: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L18990;
  goto ret0;

 L18990: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L18991;
  goto ret0;

 L18991: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 5
      && XINT (x2, 1) == 109)
    goto L18992;
  goto ret0;

 L18992: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L18993;
  goto ret0;

 L18993: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L18994;
  goto ret0;

 L18994: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[3]))
    goto L18995;
  goto ret0;

 L18995: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (rtx_equal_p (x3, operands[4]))
    goto L18996;
  goto ret0;

 L18996: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (rtx_equal_p (x3, operands[5])
      && 
#line 10137 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2))
    {
      return 1729;  /* sse4_2_pcmpestri */
    }
  goto ret0;

 L31416: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 110)
    goto L19060;
  goto ret0;

 L19060: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L19061;
    }
  goto ret0;

 L19061: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L19062;
    }
  goto ret0;

 L19062: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L19063;
    }
  goto ret0;

 L19063: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L19064;
  goto ret0;

 L19064: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L19065;
  goto ret0;

 L19065: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 3
      && XINT (x2, 1) == 110)
    goto L19066;
  goto ret0;

 L19066: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L19067;
  goto ret0;

 L19067: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L19068;
  goto ret0;

 L19068: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 10263 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2))
    {
      return 1733;  /* sse4_2_pcmpistri */
    }
  goto ret0;

 L7966: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L7967;
    }
  goto ret0;

 L7967: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7968;
  goto ret0;

 L7968: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 658;  /* ctzsi2 */
    }
  goto ret0;

 L8002: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8003;
    }
  goto ret0;

 L8003: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8004;
  goto ret0;

 L8004: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12070 "../../gcc/config/i386/i386.md"
(TARGET_LZCNT))
    {
      return 661;  /* clzsi2_lzcnt */
    }
  goto ret0;

 L8026: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L31418;
  goto ret0;

 L31418: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case NOT:
      goto L8027;
    case NEG:
      goto L8087;
    case PLUS:
      goto L8151;
    case LSHIFTRT:
      goto L8185;
    default:
     break;
   }
  goto ret0;

 L8027: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8028;
    }
  goto ret0;

 L8028: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8029;
    }
  goto ret0;

 L8029: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8030;
  goto ret0;

 L8030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12084 "../../gcc/config/i386/i386.md"
(TARGET_BMI))
    {
      return 663;  /* *bmi_andn_si */
    }
  goto ret0;

 L8087: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8088;
    }
  goto ret0;

 L8088: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8089;
  goto ret0;

 L8089: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8090;
  goto ret0;

 L8090: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12107 "../../gcc/config/i386/i386.md"
(TARGET_BMI))
    {
      return 667;  /* *bmi_blsi_si */
    }
  goto ret0;

 L8151: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8152;
    }
  goto ret0;

 L8152: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L31422;
  goto ret0;

 L31422: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x4, 0) == XWINT (x4, 0))
    switch ((int) XWINT (x4, 0))
      {
      case -1L:
        goto L8153;
      case 1L:
        goto L8279;
      default:
        break;
      }
  goto ret0;

 L8153: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8154;
 L8567: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == NOT)
    goto L8568;
  goto ret0;

 L8154: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8155;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8567;

 L8155: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12133 "../../gcc/config/i386/i386.md"
(TARGET_BMI))
    {
      return 671;  /* *bmi_blsr_si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8567;

 L8568: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L8569;
  goto ret0;

 L8569: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8570;
  goto ret0;

 L8570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12306 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 697;  /* *tbm_tzmsk_si */
    }
  goto ret0;

 L8279: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8280;
 L8351: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == NOT)
    goto L8352;
  goto ret0;

 L8280: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8281;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8351;

 L8281: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12197 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 681;  /* *tbm_blcfill_si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8351;

 L8352: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L8353;
  goto ret0;

 L8353: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8354;
  goto ret0;

 L8354: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12225 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 685;  /* *tbm_blcic_si */
    }
  goto ret0;

 L8185: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)])
    goto L8186;
  goto ret0;

 L8186: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L8187;
    }
  goto ret0;

 L8187: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8188;
    }
  goto ret0;

 L8188: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8189;
  goto ret0;

 L8189: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12145 "../../gcc/config/i386/i386.md"
(TARGET_BMI2))
    {
      return 673;  /* bmi2_bzhi_si3 */
    }
  goto ret0;

 L8116: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L8117;
  goto ret0;

 L8117: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8118;
    }
  goto ret0;

 L8118: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L31424;
  goto ret0;

 L31424: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x4, 0) == XWINT (x4, 0))
    switch ((int) XWINT (x4, 0))
      {
      case -1L:
        goto L8119;
      case 1L:
        goto L8389;
      default:
        break;
      }
  goto ret0;

 L8119: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8120;
  goto ret0;

 L8120: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8121;
  goto ret0;

 L8121: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12120 "../../gcc/config/i386/i386.md"
(TARGET_BMI))
    {
      return 669;  /* *bmi_blsmsk_si */
    }
  goto ret0;

 L8389: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8390;
  goto ret0;

 L8390: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8391;
  goto ret0;

 L8391: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12238 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 687;  /* *tbm_blcmsk_si */
    }
  goto ret0;

 L8244: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8245;
    }
  goto ret0;

 L8245: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8246;
    }
  goto ret0;

 L8246: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L8247;
    }
  goto ret0;

 L8247: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8248;
  goto ret0;

 L8248: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12181 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 679;  /* tbm_bextri_si */
    }
  goto ret0;

 L8310: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L31426;
  goto ret0;

 L31426: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case NOT:
      goto L8311;
    case PLUS:
      goto L8421;
    default:
     break;
   }
  goto ret0;

 L8311: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == PLUS)
    goto L8312;
  goto ret0;

 L8312: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, SImode))
    {
      operands[1] = x5;
      goto L8313;
    }
  goto ret0;

 L8313: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L8314;
  goto ret0;

 L8314: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8315;
  goto ret0;

 L8315: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8316;
  goto ret0;

 L8316: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12211 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 683;  /* *tbm_blci_si */
    }
  goto ret0;

 L8421: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8422;
    }
  goto ret0;

 L8422: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L31428;
  goto ret0;

 L31428: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x4, 0) == XWINT (x4, 0))
    switch ((int) XWINT (x4, 0))
      {
      case 1L:
        goto L8423;
      case -1L:
        goto L8457;
      default:
        break;
      }
  goto ret0;

 L8423: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8424;
 L8529: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == NOT)
    goto L8530;
  goto ret0;

 L8424: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8425;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8529;

 L8425: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12251 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 689;  /* *tbm_blcs_si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8529;

 L8530: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L8531;
  goto ret0;

 L8531: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8532;
  goto ret0;

 L8532: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12292 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 695;  /* *tbm_t1mskc_si */
    }
  goto ret0;

 L8457: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8458;
 L8491: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == NOT)
    goto L8492;
  goto ret0;

 L8458: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8459;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8491;

 L8459: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12264 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 691;  /* *tbm_blsfill_si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8491;

 L8492: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L8493;
  goto ret0;

 L8493: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8494;
  goto ret0;

 L8494: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12278 "../../gcc/config/i386/i386.md"
(TARGET_TBM))
    {
      return 693;  /* *tbm_blsic_si */
    }
  goto ret0;

 L8618: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (31)])
    goto L8619;
  goto ret0;

 L8619: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == CLZ)
    goto L8620;
  goto ret0;

 L8620: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8621;
    }
  goto ret0;

 L8621: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8622;
  goto ret0;

 L8622: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 700;  /* bsr */
    }
  goto ret0;

 L8662: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8663;
    }
  goto ret0;

 L8663: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8664;
  goto ret0;

 L8664: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12349 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT))
    {
      return 703;  /* popcountsi2 */
    }
  goto ret0;

 L8922: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L31430;
  goto ret0;

 L31430: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC)
    goto L31432;
  goto ret0;

 L31432: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x3, 0))
    {
    case 1:
      goto L31434;
    case 4:
      goto L31435;
    default:
      break;
    }
  goto ret0;

 L31434: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x3, 1) == 18)
    goto L8923;
  goto ret0;

 L8923: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8924;
  goto ret0;

 L8924: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8925;
    }
  goto ret0;

 L8925: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8926;
  goto ret0;

 L8926: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L31436;
  goto ret0;

 L31436: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L31438;
  goto ret0;

 L31438: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L31440;
  goto ret0;

 L31440: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12775 "../../gcc/config/i386/i386.md"
(TARGET_X32))
    {
      return 727;  /* *add_tp_x32 */
    }
 L31441: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12802 "../../gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 729;  /* *add_tp_si */
    }
  goto ret0;

 L31435: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x3, 1) == 21)
    goto L9014;
  goto ret0;

 L9014: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (tls_modbase_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L9015;
    }
  goto ret0;

 L9015: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  operands[4] = x4;
  goto L9016;

 L9016: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L9017;
    }
  goto ret0;

 L9017: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == REG
      && XINT (x4, 0) == 7)
    goto L9018;
  goto ret0;

 L9018: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == CONST)
    goto L9019;
  goto ret0;

 L9019: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 1
      && XINT (x4, 1) == 6)
    goto L9020;
  goto ret0;

 L9020: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (tls_symbolic_operand (x5, SImode))
    {
      operands[1] = x5;
      goto L9021;
    }
  goto ret0;

 L9021: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9022;
  goto ret0;

 L9022: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12886 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS))
    {
      return 733;  /* *tls_dynamic_gnu2_combine_32 */
    }
  goto ret0;

 L10693: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L10694;
    }
  goto ret0;

 L10694: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L10695;
  goto ret0;

 L10695: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10696;
  goto ret0;

 L10696: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)])
    goto L10697;
  goto ret0;

 L10697: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10698;
  goto ret0;

 L10698: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10699;
  goto ret0;

 L10699: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 884;  /* *x86_movsicc_0_m1 */
    }
  goto ret0;

 L10731: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L10732;
    }
  goto ret0;

 L10732: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L10733;
  goto ret0;

 L10733: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10734;
  goto ret0;

 L10734: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L10735;
  goto ret0;

 L10735: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10736;
  goto ret0;

 L10736: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10737;
  goto ret0;

 L10737: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 886;  /* *x86_movsicc_0_m1_se */
    }
  goto ret0;

 L10769: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L10770;
    }
  goto ret0;

 L10770: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L10771;
  goto ret0;

 L10771: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10772;
  goto ret0;

 L10772: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10773;
  goto ret0;

 L10773: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 888;  /* *x86_movsicc_0_m1_neg */
    }
  goto ret0;

 L31405: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L31442;
    case 2:
      goto L31443;
    default:
      break;
    }
  goto ret0;

 L31442: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 1L:
      goto L10977;
    case 19L:
      goto L11351;
    default:
      break;
    }
  goto ret0;

 L10977: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L10978;
    }
  goto ret0;

 L10978: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10979;
  goto ret0;

 L10979: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 16709 "../../gcc/config/i386/i386.md"
(ix86_target_stack_probe ()) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 912;  /* allocate_stack_worker_probe_si */
    }
  goto ret0;

 L11351: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11352;
  goto ret0;

 L11352: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11353;
  goto ret0;

 L11353: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L11354;
  goto ret0;

 L11354: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCCmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 19)
    goto L11355;
  goto ret0;

 L11355: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 18172 "../../gcc/config/i386/i386.md"
(TARGET_RDRND))
    {
      return 956;  /* rdrandsi_1 */
    }
  goto ret0;

 L31443: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 2)
    goto L11031;
  goto ret0;

 L11031: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L11032;
    }
  goto ret0;

 L11032: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L11033;
    }
  goto ret0;

 L11033: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L11034;
  goto ret0;

 L11034: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 916;  /* probe_stack_rangesi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_63 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case CTZ:
      goto L7978;
    case CLZ:
      goto L8014;
    case AND:
      goto L8042;
    case UNSPEC:
      goto L31508;
    case XOR:
      goto L8133;
    case ZERO_EXTRACT:
      goto L8260;
    case IOR:
      goto L8329;
    case MINUS:
      goto L8602;
    case POPCOUNT:
      goto L8674;
    case CALL:
      goto L8842;
    case ZERO_EXTEND:
      goto L8938;
    case PLUS:
      goto L8972;
    case IF_THEN_ELSE:
      goto L10712;
    case SIGN_EXTRACT:
      goto L10750;
    case NEG:
      goto L10784;
    case UNSPEC_VOLATILE:
      goto L31511;
    default:
     break;
   }
  goto ret0;

 L7978: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L7979;
    }
  goto ret0;

 L7979: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7980;
  goto ret0;

 L7980: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 659;  /* ctzdi2 */
    }
  goto ret0;

 L8014: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8015;
    }
  goto ret0;

 L8015: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8016;
  goto ret0;

 L8016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12070 "../../gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 662;  /* clzdi2_lzcnt */
    }
  goto ret0;

 L8042: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L31517;
  goto ret0;

 L31517: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case NOT:
      goto L8043;
    case NEG:
      goto L8102;
    case PLUS:
      goto L8168;
    case LSHIFTRT:
      goto L8203;
    default:
     break;
   }
  goto ret0;

 L8043: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8044;
    }
  goto ret0;

 L8044: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L8045;
    }
  goto ret0;

 L8045: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8046;
  goto ret0;

 L8046: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12084 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 664;  /* *bmi_andn_di */
    }
  goto ret0;

 L8102: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8103;
    }
  goto ret0;

 L8103: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8104;
  goto ret0;

 L8104: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8105;
  goto ret0;

 L8105: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12107 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 668;  /* *bmi_blsi_di */
    }
  goto ret0;

 L8168: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8169;
    }
  goto ret0;

 L8169: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L31521;
  goto ret0;

 L31521: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x4, 0) == XWINT (x4, 0))
    switch ((int) XWINT (x4, 0))
      {
      case -1L:
        goto L8170;
      case 1L:
        goto L8296;
      default:
        break;
      }
  goto ret0;

 L8170: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8171;
 L8586: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == NOT)
    goto L8587;
  goto ret0;

 L8171: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8172;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8586;

 L8172: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12133 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 672;  /* *bmi_blsr_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8586;

 L8587: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L8588;
  goto ret0;

 L8588: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8589;
  goto ret0;

 L8589: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12306 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 698;  /* *tbm_tzmsk_di */
    }
  goto ret0;

 L8296: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8297;
 L8370: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == NOT)
    goto L8371;
  goto ret0;

 L8297: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8298;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8370;

 L8298: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12197 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 682;  /* *tbm_blcfill_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8370;

 L8371: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L8372;
  goto ret0;

 L8372: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8373;
  goto ret0;

 L8373: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12225 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 686;  /* *tbm_blcic_di */
    }
  goto ret0;

 L8203: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)])
    goto L8204;
  goto ret0;

 L8204: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L8205;
    }
  goto ret0;

 L8205: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8206;
    }
  goto ret0;

 L8206: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8207;
  goto ret0;

 L8207: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12145 "../../gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 674;  /* bmi2_bzhi_di3 */
    }
  goto ret0;

 L31508: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 2:
      goto L31523;
    case 3:
      goto L31524;
    case 4:
      goto L31525;
    default:
      break;
    }
  goto ret0;

 L31523: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 82)
    goto L8072;
  goto ret0;

 L8072: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8073;
    }
  goto ret0;

 L8073: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L8074;
    }
  goto ret0;

 L8074: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8075;
  goto ret0;

 L8075: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12095 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 666;  /* bmi_bextr_di */
    }
  goto ret0;

 L31524: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 21)
    goto L9044;
  goto ret0;

 L9044: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (tls_symbolic_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L9045;
    }
  goto ret0;

 L9045: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L9046;
    }
  goto ret0;

 L9046: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L9047;
  goto ret0;

 L9047: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9048;
  goto ret0;

 L9048: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12928 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS))
    {
      return 735;  /* *tls_dynamic_gnu2_call_64 */
    }
  goto ret0;

 L31525: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 23)
    goto L10681;
  goto ret0;

 L10681: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L10682;
  goto ret0;

 L10682: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[5] = x4;
      goto L10683;
    }
  goto ret0;

 L10683: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L10684;
    }
  goto ret0;

 L10684: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (immediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10685;
    }
  goto ret0;

 L10685: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, DImode))
    {
      operands[4] = x3;
      goto L10686;
    }
  goto ret0;

 L10686: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10687;
  goto ret0;

 L10687: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10688;
    }
  goto ret0;

 L10688: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16235 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 883;  /* *strlenqi_1 */
    }
  goto ret0;

 L8133: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == PLUS)
    goto L8134;
  goto ret0;

 L8134: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8135;
    }
  goto ret0;

 L8135: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L31526;
  goto ret0;

 L31526: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x4, 0) == XWINT (x4, 0))
    switch ((int) XWINT (x4, 0))
      {
      case -1L:
        goto L8136;
      case 1L:
        goto L8406;
      default:
        break;
      }
  goto ret0;

 L8136: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8137;
  goto ret0;

 L8137: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8138;
  goto ret0;

 L8138: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12120 "../../gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 670;  /* *bmi_blsmsk_di */
    }
  goto ret0;

 L8406: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8407;
  goto ret0;

 L8407: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8408;
  goto ret0;

 L8408: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12238 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 688;  /* *tbm_blcmsk_di */
    }
  goto ret0;

 L8260: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8261;
    }
  goto ret0;

 L8261: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_0_to_255_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L8262;
    }
  goto ret0;

 L8262: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (const_0_to_255_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L8263;
    }
  goto ret0;

 L8263: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8264;
  goto ret0;

 L8264: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12181 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 680;  /* tbm_bextri_di */
    }
  goto ret0;

 L8329: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L31528;
  goto ret0;

 L31528: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case NOT:
      goto L8330;
    case PLUS:
      goto L8438;
    default:
     break;
   }
  goto ret0;

 L8330: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == PLUS)
    goto L8331;
  goto ret0;

 L8331: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (nonimmediate_operand (x5, DImode))
    {
      operands[1] = x5;
      goto L8332;
    }
  goto ret0;

 L8332: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L8333;
  goto ret0;

 L8333: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8334;
  goto ret0;

 L8334: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8335;
  goto ret0;

 L8335: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12211 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 684;  /* *tbm_blci_di */
    }
  goto ret0;

 L8438: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8439;
    }
  goto ret0;

 L8439: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L31530;
  goto ret0;

 L31530: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x4, 0) == XWINT (x4, 0))
    switch ((int) XWINT (x4, 0))
      {
      case 1L:
        goto L8440;
      case -1L:
        goto L8474;
      default:
        break;
      }
  goto ret0;

 L8440: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8441;
 L8548: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == NOT)
    goto L8549;
  goto ret0;

 L8441: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8442;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8548;

 L8442: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12251 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 690;  /* *tbm_blcs_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8548;

 L8549: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L8550;
  goto ret0;

 L8550: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8551;
  goto ret0;

 L8551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12292 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 696;  /* *tbm_t1mskc_di */
    }
  goto ret0;

 L8474: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L8475;
 L8510: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == NOT)
    goto L8511;
  goto ret0;

 L8475: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8476;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8510;

 L8476: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12264 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 692;  /* *tbm_blsfill_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L8510;

 L8511: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L8512;
  goto ret0;

 L8512: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8513;
  goto ret0;

 L8513: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12278 "../../gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 694;  /* *tbm_blsic_di */
    }
  goto ret0;

 L8602: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (63)])
    goto L8603;
  goto ret0;

 L8603: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == CLZ)
    goto L8604;
  goto ret0;

 L8604: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8605;
    }
  goto ret0;

 L8605: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8606;
  goto ret0;

 L8606: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12316 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 699;  /* bsr_rex64 */
    }
  goto ret0;

 L8674: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8675;
    }
  goto ret0;

 L8675: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8676;
  goto ret0;

 L8676: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12349 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 704;  /* popcountdi2 */
    }
  goto ret0;

 L8842: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MEM)
    goto L8843;
  goto ret0;

 L8843: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode)
    goto L31532;
  goto ret0;

 L31532: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == SYMBOL_REF)
    goto L31534;
  goto ret0;

 L31534: ATTRIBUTE_UNUSED_LABEL
  if (constant_call_address_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L8844;
    }
 L31535: ATTRIBUTE_UNUSED_LABEL
  if (constant_call_address_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8872;
    }
  goto ret0;

 L8844: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[3] = x3;
  goto L8845;

 L8845: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 19)
    goto L8846;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31535;

 L8846: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (tls_symbolic_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L8847;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31535;

 L8847: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12622 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 719;  /* *tls_global_dynamic_64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31535;

 L8872: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L8873;

 L8873: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 20)
    goto L8874;
  goto ret0;

 L8874: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 12688 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 721;  /* *tls_local_dynamic_base_64 */
    }
  goto ret0;

 L8938: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L8939;
  goto ret0;

 L8939: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 1
      && XINT (x4, 1) == 18)
    goto L8940;
  goto ret0;

 L8940: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8941;
  goto ret0;

 L8941: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8942;
    }
  goto ret0;

 L8942: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8943;
  goto ret0;

 L8943: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12789 "../../gcc/config/i386/i386.md"
(TARGET_X32))
    {
      return 728;  /* *add_tp_x32_zext */
    }
  goto ret0;

 L8972: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L31536;
  goto ret0;

 L31536: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC)
    goto L31538;
  goto ret0;

 L31538: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x3, 0))
    {
    case 1:
      goto L31540;
    case 3:
      goto L31541;
    default:
      break;
    }
  goto ret0;

 L31540: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x3, 1) == 18)
    goto L8973;
  goto ret0;

 L8973: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8974;
  goto ret0;

 L8974: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L8975;
    }
  goto ret0;

 L8975: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8976;
  goto ret0;

 L8976: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 12802 "../../gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 730;  /* *add_tp_di */
    }
  goto ret0;

 L31541: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x3, 1) == 21)
    goto L9060;
  goto ret0;

 L9060: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (tls_modbase_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L9061;
    }
  goto ret0;

 L9061: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  operands[3] = x4;
  goto L9062;

 L9062: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == REG
      && XINT (x4, 0) == 7)
    goto L9063;
  goto ret0;

 L9063: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == CONST)
    goto L9064;
  goto ret0;

 L9064: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 1
      && XINT (x4, 1) == 6)
    goto L9065;
  goto ret0;

 L9065: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (tls_symbolic_operand (x5, VOIDmode))
    {
      operands[1] = x5;
      goto L9066;
    }
  goto ret0;

 L9066: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9067;
  goto ret0;

 L9067: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12945 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS))
    {
      return 736;  /* *tls_dynamic_gnu2_combine_64 */
    }
  goto ret0;

 L10712: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L10713;
    }
  goto ret0;

 L10713: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L10714;
  goto ret0;

 L10714: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10715;
  goto ret0;

 L10715: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)])
    goto L10716;
  goto ret0;

 L10716: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10717;
  goto ret0;

 L10717: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10718;
  goto ret0;

 L10718: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 885;  /* *x86_movdicc_0_m1 */
    }
  goto ret0;

 L10750: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L10751;
    }
  goto ret0;

 L10751: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L10752;
  goto ret0;

 L10752: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10753;
  goto ret0;

 L10753: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L10754;
  goto ret0;

 L10754: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10755;
  goto ret0;

 L10755: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10756;
  goto ret0;

 L10756: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 887;  /* *x86_movdicc_0_m1_se */
    }
  goto ret0;

 L10784: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_carry_flag_operator (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L10785;
    }
  goto ret0;

 L10785: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L10786;
  goto ret0;

 L10786: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10787;
  goto ret0;

 L10787: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10788;
  goto ret0;

 L10788: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 889;  /* *x86_movdicc_0_m1_neg */
    }
  goto ret0;

 L31511: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L31542;
    case 2:
      goto L31543;
    default:
      break;
    }
  goto ret0;

 L31542: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 1L:
      goto L10989;
    case 10L:
      goto L11232;
    case 8L:
      goto L11245;
    case 9L:
      goto L11254;
    case 19L:
      goto L11360;
    default:
      break;
    }
  goto ret0;

 L10989: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L10990;
    }
  goto ret0;

 L10990: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10991;
  goto ret0;

 L10991: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 16709 "../../gcc/config/i386/i386.md"
(ix86_target_stack_probe ()) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 913;  /* allocate_stack_worker_probe_di */
    }
  goto ret0;

 L11232: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L11233;
    }
  goto ret0;

 L11233: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11234;
  goto ret0;

 L11234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L11235;
    }
  goto ret0;

 L11235: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 10)
    goto L11236;
  goto ret0;

 L11236: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17935 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 934;  /* *rdpmc_rex64 */
    }
  goto ret0;

 L11245: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11246;
  goto ret0;

 L11246: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11247;
  goto ret0;

 L11247: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L11248;
    }
  goto ret0;

 L11248: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 8)
    goto L11249;
  goto ret0;

 L11249: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17979 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 936;  /* *rdtsc_rex64 */
    }
  goto ret0;

 L11254: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11255;
  goto ret0;

 L11255: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11256;
  goto ret0;

 L11256: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L11257;
    }
  goto ret0;

 L11257: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 9)
    goto L11258;
  goto ret0;

 L11258: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 18030 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 937;  /* *rdtscp */
    }
  goto ret0;

 L11360: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11361;
  goto ret0;

 L11361: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11362;
  goto ret0;

 L11362: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L11363;
  goto ret0;

 L11363: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCCmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 19)
    goto L11364;
  goto ret0;

 L11364: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 18172 "../../gcc/config/i386/i386.md"
(TARGET_RDRND) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 957;  /* rdranddi_1 */
    }
  goto ret0;

 L31543: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 2)
    goto L11045;
  goto ret0;

 L11045: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L11046;
    }
  goto ret0;

 L11046: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L11047;
    }
  goto ret0;

 L11047: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L11048;
  goto ret0;

 L11048: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 917;  /* probe_stack_rangedi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_64 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L31586;
    case 2:
      goto L31587;
    default:
      break;
    }
  goto ret0;

 L31586: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 64L:
      goto L9430;
    case 66L:
      goto L9641;
    case 58L:
      goto L9777;
    case 59L:
      goto L9927;
    case 60L:
      goto L10077;
    case 61L:
      goto L10099;
    default:
      break;
    }
  goto ret0;

 L9430: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode)
    goto L31597;
  goto ret0;

 L31597: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == FLOAT_EXTEND)
    goto L9440;
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9431;
    }
  goto ret0;

 L9440: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SFmode:
      goto L31598;
    case DFmode:
      goto L31599;
    default:
      break;
    }
  goto ret0;

 L31598: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SFmode))
    {
      operands[2] = x4;
      goto L9441;
    }
  goto ret0;

 L9441: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9442;
  goto ret0;

 L9442: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9443;
    }
  goto ret0;

 L9443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 65)
    goto L9444;
  goto ret0;

 L9444: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L9445;
  goto ret0;

 L9445: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 13688 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 790;  /* sincos_extendsfxf3_i387 */
    }
  goto ret0;

 L31599: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DFmode))
    {
      operands[2] = x4;
      goto L9452;
    }
  goto ret0;

 L9452: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9453;
  goto ret0;

 L9453: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9454;
    }
  goto ret0;

 L9454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 65)
    goto L9455;
  goto ret0;

 L9455: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L9456;
  goto ret0;

 L9456: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 13688 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 791;  /* sincos_extenddfxf3_i387 */
    }
  goto ret0;

 L9431: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9432;
  goto ret0;

 L9432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9433;
    }
  goto ret0;

 L9433: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 65)
    goto L9434;
  goto ret0;

 L9434: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 13655 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 789;  /* sincosxf3 */
    }
  goto ret0;

 L9641: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode)
    goto L31601;
  goto ret0;

 L31601: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == FLOAT_EXTEND)
    goto L9651;
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9642;
    }
  goto ret0;

 L9651: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SFmode:
      goto L31602;
    case DFmode:
      goto L31603;
    default:
      break;
    }
  goto ret0;

 L31602: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SFmode))
    {
      operands[2] = x4;
      goto L9652;
    }
  goto ret0;

 L9652: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9653;
  goto ret0;

 L9653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9654;
    }
  goto ret0;

 L9654: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 67)
    goto L9655;
  goto ret0;

 L9655: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L9656;
  goto ret0;

 L9656: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 14169 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 805;  /* fxtract_extendsfxf3_i387 */
    }
  goto ret0;

 L31603: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DFmode))
    {
      operands[2] = x4;
      goto L9663;
    }
  goto ret0;

 L9663: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9664;
  goto ret0;

 L9664: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9665;
    }
  goto ret0;

 L9665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 67)
    goto L9666;
  goto ret0;

 L9666: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L9667;
  goto ret0;

 L9667: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 14169 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 806;  /* fxtract_extenddfxf3_i387 */
    }
  goto ret0;

 L9642: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9643;
  goto ret0;

 L9643: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9644;
    }
  goto ret0;

 L9644: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 67)
    goto L9645;
  goto ret0;

 L9645: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 14156 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 804;  /* fxtractxf3_i387 */
    }
  goto ret0;

 L9777: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9778;
    }
  goto ret0;

 L9778: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9779;
  goto ret0;

 L9779: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 14841 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 821;  /* frndintxf2_floor */
    }
  goto ret0;

 L9927: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9928;
    }
  goto ret0;

 L9928: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9929;
  goto ret0;

 L9929: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 15099 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 832;  /* frndintxf2_ceil */
    }
  goto ret0;

 L10077: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10078;
    }
  goto ret0;

 L10078: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10079;
  goto ret0;

 L10079: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 15355 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 843;  /* frndintxf2_trunc */
    }
  goto ret0;

 L10099: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10100;
    }
  goto ret0;

 L10100: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10101;
  goto ret0;

 L10101: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 15446 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 845;  /* frndintxf2_mask_pm */
    }
  goto ret0;

 L31587: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 50L:
      goto L9490;
    case 51L:
      goto L9543;
    case 52L:
      goto L9592;
    case 68L:
      goto L9677;
    default:
      break;
    }
  goto ret0;

 L9490: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode)
    goto L31605;
  goto ret0;

 L31605: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == FLOAT_EXTEND)
    goto L9506;
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9491;
    }
  goto ret0;

 L9506: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SFmode:
      goto L31606;
    case DFmode:
      goto L31607;
    default:
      break;
    }
  goto ret0;

 L31606: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SFmode))
    {
      operands[1] = x4;
      goto L9507;
    }
  goto ret0;

 L9507: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L9508;
  goto ret0;

 L9508: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SFmode))
    {
      operands[2] = x4;
      goto L9509;
    }
  goto ret0;

 L9509: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9510;
  goto ret0;

 L9510: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9511;
    }
  goto ret0;

 L9511: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13819 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 796;  /* fpatan_extendsfxf3_i387 */
    }
  goto ret0;

 L31607: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DFmode))
    {
      operands[1] = x4;
      goto L9526;
    }
  goto ret0;

 L9526: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L9527;
  goto ret0;

 L9527: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DFmode))
    {
      operands[2] = x4;
      goto L9528;
    }
  goto ret0;

 L9528: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9529;
  goto ret0;

 L9529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9530;
    }
  goto ret0;

 L9530: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13819 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 797;  /* fpatan_extenddfxf3_i387 */
    }
  goto ret0;

 L9491: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9492;
    }
  goto ret0;

 L9492: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9493;
  goto ret0;

 L9493: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9494;
    }
  goto ret0;

 L9494: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13805 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 795;  /* *fpatanxf3_i387 */
    }
  goto ret0;

 L9543: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode)
    goto L31609;
  goto ret0;

 L31609: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == FLOAT_EXTEND)
    goto L9559;
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9544;
    }
  goto ret0;

 L9559: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SFmode:
      goto L31610;
    case DFmode:
      goto L31611;
    default:
      break;
    }
  goto ret0;

 L31610: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SFmode))
    {
      operands[1] = x4;
      goto L9560;
    }
  goto ret0;

 L9560: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9561;
    }
  goto ret0;

 L9561: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9562;
  goto ret0;

 L9562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9563;
    }
  goto ret0;

 L9563: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13990 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 799;  /* fyl2x_extendsfxf3_i387 */
    }
  goto ret0;

 L31611: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DFmode))
    {
      operands[1] = x4;
      goto L9577;
    }
  goto ret0;

 L9577: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9578;
    }
  goto ret0;

 L9578: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9579;
  goto ret0;

 L9579: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9580;
    }
  goto ret0;

 L9580: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13990 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 800;  /* fyl2x_extenddfxf3_i387 */
    }
  goto ret0;

 L9544: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9545;
    }
  goto ret0;

 L9545: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9546;
  goto ret0;

 L9546: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9547;
    }
  goto ret0;

 L9547: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13977 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 798;  /* fyl2xxf3_i387 */
    }
  goto ret0;

 L9592: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode)
    goto L31613;
  goto ret0;

 L31613: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == FLOAT_EXTEND)
    goto L9608;
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9593;
    }
  goto ret0;

 L9608: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SFmode:
      goto L31614;
    case DFmode:
      goto L31615;
    default:
      break;
    }
  goto ret0;

 L31614: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SFmode))
    {
      operands[1] = x4;
      goto L9609;
    }
  goto ret0;

 L9609: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9610;
    }
  goto ret0;

 L9610: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9611;
  goto ret0;

 L9611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9612;
    }
  goto ret0;

 L9612: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14107 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 802;  /* fyl2xp1_extendsfxf3_i387 */
    }
  goto ret0;

 L31615: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DFmode))
    {
      operands[1] = x4;
      goto L9626;
    }
  goto ret0;

 L9626: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9627;
    }
  goto ret0;

 L9627: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9628;
  goto ret0;

 L9628: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9629;
    }
  goto ret0;

 L9629: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14107 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations))
    {
      return 803;  /* fyl2xp1_extenddfxf3_i387 */
    }
  goto ret0;

 L9593: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9594;
    }
  goto ret0;

 L9594: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9595;
  goto ret0;

 L9595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9596;
    }
  goto ret0;

 L9596: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14094 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 801;  /* fyl2xp1xf3_i387 */
    }
  goto ret0;

 L9677: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9678;
    }
  goto ret0;

 L9678: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[3] = x3;
      goto L9679;
    }
  goto ret0;

 L9679: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9680;
  goto ret0;

 L9680: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9681;
    }
  goto ret0;

 L9681: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 69)
    goto L9682;
  goto ret0;

 L9682: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L9683;
  goto ret0;

 L9683: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 14261 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 808;  /* *fscalexf4_i387 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_65 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case SUBREG:
      goto L31620;
    case VEC_CONCAT:
      goto L19852;
    case UNSPEC:
      goto L31621;
    case VEC_SELECT:
      goto L22890;
    default:
     break;
   }
  goto ret0;

 L31620: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 0)
    goto L12264;
  goto ret0;

 L12264: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L12265;
    }
  goto ret0;

 L12265: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L12266;
  goto ret0;

 L12266: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L12267;
    }
  goto ret0;

 L12267: ATTRIBUTE_UNUSED_LABEL
  if (
#line 520 "../../gcc/config/i386/sse.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES))
    {
      return 1090;  /* movdi_to_sse */
    }
  goto ret0;

 L19852: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == TRUNCATE)
    goto L19853;
  goto ret0;

 L19853: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V2DImode))
    {
      operands[1] = x4;
      goto L19854;
    }
  goto ret0;

 L19854: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V2SImode
      && GET_CODE (x3) == TRUNCATE)
    goto L19855;
  goto ret0;

 L19855: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V2DImode))
    {
      operands[2] = x4;
      goto L19856;
    }
  goto ret0;

 L19856: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L19857;
  goto ret0;

 L19857: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L19858;
    }
  goto ret0;

 L19858: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11056 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 1776;  /* xop_pperm_pack_v2di_v4si */
    }
  goto ret0;

 L31621: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L21266;
  goto ret0;

 L21266: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L21267;
    }
  if (GET_CODE (x3) == PC)
    goto L21731;
  goto ret0;

 L21267: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SImode))
    {
      operands[7] = x3;
      goto L21268;
    }
  goto ret0;

 L21268: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31622;
    case DImode:
      goto L31623;
    default:
      break;
    }
  goto ret0;

 L31622: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21269;
  goto ret0;

 L21269: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L21270;
    }
  goto ret0;

 L21270: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31624;
    case V2DImode:
      goto L31625;
    default:
      break;
    }
  goto ret0;

 L31624: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21271;
    }
  goto ret0;

 L21271: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21272;
    }
  goto ret0;

 L21272: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21273;
  goto ret0;

 L21273: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21274;
  goto ret0;

 L21274: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[5] = x3;
      goto L21275;
    }
  goto ret0;

 L21275: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21276;
  goto ret0;

 L21276: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L21277;
    }
  goto ret0;

 L21277: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1944;  /* *avx2_gathersiv4si */
    }
  goto ret0;

 L31625: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[4] = x5;
      goto L22199;
    }
  goto ret0;

 L22199: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22200;
    }
  goto ret0;

 L22200: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22201;
  goto ret0;

 L22201: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22202;
  goto ret0;

 L22202: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[5] = x3;
      goto L22203;
    }
  goto ret0;

 L22203: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22204;
  goto ret0;

 L22204: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L22205;
    }
  goto ret0;

 L22205: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1976;  /* *avx2_gatherdiv4si */
    }
  goto ret0;

 L31623: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21298;
  goto ret0;

 L21298: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L21299;
    }
  goto ret0;

 L21299: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31626;
    case V2DImode:
      goto L31627;
    default:
      break;
    }
  goto ret0;

 L31626: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21300;
    }
  goto ret0;

 L21300: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21301;
    }
  goto ret0;

 L21301: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21302;
  goto ret0;

 L21302: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21303;
  goto ret0;

 L21303: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[5] = x3;
      goto L21304;
    }
  goto ret0;

 L21304: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21305;
  goto ret0;

 L21305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L21306;
    }
  goto ret0;

 L21306: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1945;  /* *avx2_gathersiv4si */
    }
  goto ret0;

 L31627: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[4] = x5;
      goto L22228;
    }
  goto ret0;

 L22228: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22229;
    }
  goto ret0;

 L22229: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22230;
  goto ret0;

 L22230: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22231;
  goto ret0;

 L22231: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[5] = x3;
      goto L22232;
    }
  goto ret0;

 L22232: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22233;
  goto ret0;

 L22233: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L22234;
    }
  goto ret0;

 L22234: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1977;  /* *avx2_gatherdiv4si */
    }
  goto ret0;

 L21731: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SImode))
    {
      operands[6] = x3;
      goto L21732;
    }
  goto ret0;

 L21732: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31628;
    case DImode:
      goto L31629;
    default:
      break;
    }
  goto ret0;

 L31628: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21733;
  goto ret0;

 L21733: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L21734;
    }
  goto ret0;

 L21734: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31630;
    case V2DImode:
      goto L31631;
    default:
      break;
    }
  goto ret0;

 L31630: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21735;
    }
  goto ret0;

 L21735: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21736;
    }
  goto ret0;

 L21736: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21737;
  goto ret0;

 L21737: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21738;
  goto ret0;

 L21738: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[4] = x3;
      goto L21739;
    }
  goto ret0;

 L21739: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21740;
  goto ret0;

 L21740: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L21741;
    }
  goto ret0;

 L21741: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1960;  /* *avx2_gathersiv4si_2 */
    }
  goto ret0;

 L31631: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[3] = x5;
      goto L22663;
    }
  goto ret0;

 L22663: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22664;
    }
  goto ret0;

 L22664: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22665;
  goto ret0;

 L22665: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22666;
  goto ret0;

 L22666: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[4] = x3;
      goto L22667;
    }
  goto ret0;

 L22667: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22668;
  goto ret0;

 L22668: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L22669;
    }
  goto ret0;

 L22669: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1992;  /* *avx2_gatherdiv4si_2 */
    }
  goto ret0;

 L31629: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21762;
  goto ret0;

 L21762: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L21763;
    }
  goto ret0;

 L21763: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31632;
    case V2DImode:
      goto L31633;
    default:
      break;
    }
  goto ret0;

 L31632: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21764;
    }
  goto ret0;

 L21764: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21765;
    }
  goto ret0;

 L21765: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21766;
  goto ret0;

 L21766: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21767;
  goto ret0;

 L21767: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[4] = x3;
      goto L21768;
    }
  goto ret0;

 L21768: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21769;
  goto ret0;

 L21769: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L21770;
    }
  goto ret0;

 L21770: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1961;  /* *avx2_gathersiv4si_2 */
    }
  goto ret0;

 L31633: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[3] = x5;
      goto L22692;
    }
  goto ret0;

 L22692: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22693;
    }
  goto ret0;

 L22693: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22694;
  goto ret0;

 L22694: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22695;
  goto ret0;

 L22695: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[4] = x3;
      goto L22696;
    }
  goto ret0;

 L22696: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22697;
  goto ret0;

 L22697: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L22698;
    }
  goto ret0;

 L22698: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1993;  /* *avx2_gatherdiv4si_2 */
    }
  goto ret0;

 L22890: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8SImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 4
      && XINT (x3, 1) == 135)
    goto L22891;
  goto ret0;

 L22891: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (register_operand (x4, V4SImode))
    {
      operands[2] = x4;
      goto L22892;
    }
  if (GET_CODE (x4) == PC)
    goto L23052;
  goto ret0;

 L22892: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (vsib_mem_operator (x4, SImode))
    {
      operands[7] = x4;
      goto L22893;
    }
  goto ret0;

 L22893: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  switch (GET_MODE (x5))
    {
    case SImode:
      goto L31634;
    case DImode:
      goto L31635;
    default:
      break;
    }
  goto ret0;

 L31634: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == UNSPEC
      && XVECLEN (x5, 0) == 3
      && XINT (x5, 1) == 136)
    goto L22894;
  goto ret0;

 L22894: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (vsib_address_operand (x6, SImode))
    {
      operands[3] = x6;
      goto L22895;
    }
  goto ret0;

 L22895: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (register_operand (x6, V4DImode))
    {
      operands[4] = x6;
      goto L22896;
    }
  goto ret0;

 L22896: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (const1248_operand (x6, SImode))
    {
      operands[6] = x6;
      goto L22897;
    }
  goto ret0;

 L22897: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L22898;
  goto ret0;

 L22898: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == SCRATCH)
    goto L22899;
  goto ret0;

 L22899: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (register_operand (x4, V4SImode))
    {
      operands[5] = x4;
      goto L22900;
    }
  goto ret0;

 L22900: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L22901;
  goto ret0;

 L22901: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L22902;
  goto ret0;

 L22902: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L22903;
  goto ret0;

 L22903: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L22904;
  goto ret0;

 L22904: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L22905;
  goto ret0;

 L22905: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22906;
  goto ret0;

 L22906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L22907;
    }
  goto ret0;

 L22907: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12705 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 2000;  /* *avx2_gatherdiv8si_3 */
    }
  goto ret0;

 L31635: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == UNSPEC
      && XVECLEN (x5, 0) == 3
      && XINT (x5, 1) == 136)
    goto L22934;
  goto ret0;

 L22934: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (vsib_address_operand (x6, DImode))
    {
      operands[3] = x6;
      goto L22935;
    }
  goto ret0;

 L22935: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (register_operand (x6, V4DImode))
    {
      operands[4] = x6;
      goto L22936;
    }
  goto ret0;

 L22936: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (const1248_operand (x6, SImode))
    {
      operands[6] = x6;
      goto L22937;
    }
  goto ret0;

 L22937: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L22938;
  goto ret0;

 L22938: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == SCRATCH)
    goto L22939;
  goto ret0;

 L22939: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (register_operand (x4, V4SImode))
    {
      operands[5] = x4;
      goto L22940;
    }
  goto ret0;

 L22940: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L22941;
  goto ret0;

 L22941: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L22942;
  goto ret0;

 L22942: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L22943;
  goto ret0;

 L22943: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L22944;
  goto ret0;

 L22944: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L22945;
  goto ret0;

 L22945: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22946;
  goto ret0;

 L22946: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L22947;
    }
  goto ret0;

 L22947: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12705 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 2001;  /* *avx2_gatherdiv8si_3 */
    }
  goto ret0;

 L23052: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (vsib_mem_operator (x4, SImode))
    {
      operands[6] = x4;
      goto L23053;
    }
  goto ret0;

 L23053: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  switch (GET_MODE (x5))
    {
    case SImode:
      goto L31636;
    case DImode:
      goto L31637;
    default:
      break;
    }
  goto ret0;

 L31636: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == UNSPEC
      && XVECLEN (x5, 0) == 3
      && XINT (x5, 1) == 136)
    goto L23054;
  goto ret0;

 L23054: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (vsib_address_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L23055;
    }
  goto ret0;

 L23055: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (register_operand (x6, V4DImode))
    {
      operands[3] = x6;
      goto L23056;
    }
  goto ret0;

 L23056: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (const1248_operand (x6, SImode))
    {
      operands[5] = x6;
      goto L23057;
    }
  goto ret0;

 L23057: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L23058;
  goto ret0;

 L23058: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == SCRATCH)
    goto L23059;
  goto ret0;

 L23059: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L23060;
    }
  goto ret0;

 L23060: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L23061;
  goto ret0;

 L23061: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23062;
  goto ret0;

 L23062: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23063;
  goto ret0;

 L23063: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23064;
  goto ret0;

 L23064: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L23065;
  goto ret0;

 L23065: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23066;
  goto ret0;

 L23066: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L23067;
    }
  goto ret0;

 L23067: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12728 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 2004;  /* *avx2_gatherdiv8si_4 */
    }
  goto ret0;

 L31637: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == UNSPEC
      && XVECLEN (x5, 0) == 3
      && XINT (x5, 1) == 136)
    goto L23094;
  goto ret0;

 L23094: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (vsib_address_operand (x6, DImode))
    {
      operands[2] = x6;
      goto L23095;
    }
  goto ret0;

 L23095: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (register_operand (x6, V4DImode))
    {
      operands[3] = x6;
      goto L23096;
    }
  goto ret0;

 L23096: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (const1248_operand (x6, SImode))
    {
      operands[5] = x6;
      goto L23097;
    }
  goto ret0;

 L23097: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L23098;
  goto ret0;

 L23098: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == SCRATCH)
    goto L23099;
  goto ret0;

 L23099: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (register_operand (x4, V4SImode))
    {
      operands[4] = x4;
      goto L23100;
    }
  goto ret0;

 L23100: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L23101;
  goto ret0;

 L23101: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23102;
  goto ret0;

 L23102: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23103;
  goto ret0;

 L23103: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23104;
  goto ret0;

 L23104: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L23105;
  goto ret0;

 L23105: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23106;
  goto ret0;

 L23106: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L23107;
    }
  goto ret0;

 L23107: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12728 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 2005;  /* *avx2_gatherdiv8si_4 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_66 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8SFmode)
    goto L31639;
  goto ret0;

 L31639: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L21440;
  if (absneg_operator (x2, V8SFmode))
    {
      operands[3] = x2;
      goto L12387;
    }
  goto ret0;

 L21440: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  switch (GET_MODE (x3))
    {
    case V8SFmode:
      goto L31640;
    case V4SFmode:
      goto L31641;
    default:
      break;
    }
 L21904: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == PC)
    goto L21905;
  goto ret0;

 L31640: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V8SFmode))
    {
      operands[2] = x3;
      goto L21441;
    }
  goto L21904;

 L21441: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SFmode))
    {
      operands[7] = x3;
      goto L21442;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21442: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31642;
    case DImode:
      goto L31643;
    default:
      break;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L31642: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21443;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21443: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L21444;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21444: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V8SImode))
    {
      operands[4] = x5;
      goto L21445;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21445: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21446;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21446: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21447;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21447: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21448;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21448: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V8SFmode))
    {
      operands[5] = x3;
      goto L21449;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21449: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21450;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21450: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L21451;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21451: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1950;  /* *avx2_gathersiv8sf */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L31643: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21472;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21472: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L21473;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21473: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V8SImode))
    {
      operands[4] = x5;
      goto L21474;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21474: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21475;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21475: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21476;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21476: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21477;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21477: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V8SFmode))
    {
      operands[5] = x3;
      goto L21478;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21478: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21479;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21479: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L21480;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21480: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1951;  /* *avx2_gathersiv8sf */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L31641: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L22369;
    }
  goto L21904;

 L22369: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SFmode))
    {
      operands[7] = x3;
      goto L22370;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22370: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31644;
    case DImode:
      goto L31645;
    default:
      break;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L31644: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L22371;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22371: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L22372;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22372: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22373;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22373: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22374;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22374: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22375;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22375: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22376;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22376: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L22377;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22377: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22378;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22378: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L22379;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22379: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1982;  /* *avx2_gatherdiv8sf */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L31645: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L22400;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22400: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L22401;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22401: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22402;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22402: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22403;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22403: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22404;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22404: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22405;
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22405: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L22406;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22406: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22407;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22407: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L22408;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L22408: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1983;  /* *avx2_gatherdiv8sf */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21904;

 L21905: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SFmode))
    {
      operands[6] = x3;
      goto L21906;
    }
  goto ret0;

 L21906: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31646;
    case DImode:
      goto L31647;
    default:
      break;
    }
  goto ret0;

 L31646: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21907;
  goto ret0;

 L21907: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L21908;
    }
  goto ret0;

 L21908: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V8SImode:
      goto L31648;
    case V4DImode:
      goto L31649;
    default:
      break;
    }
  goto ret0;

 L31648: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V8SImode))
    {
      operands[3] = x5;
      goto L21909;
    }
  goto ret0;

 L21909: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21910;
    }
  goto ret0;

 L21910: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21911;
  goto ret0;

 L21911: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21912;
  goto ret0;

 L21912: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V8SFmode))
    {
      operands[4] = x3;
      goto L21913;
    }
  goto ret0;

 L21913: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21914;
  goto ret0;

 L21914: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L21915;
    }
  goto ret0;

 L21915: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1966;  /* *avx2_gathersiv8sf_2 */
    }
  goto ret0;

 L31649: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L22837;
    }
  goto ret0;

 L22837: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22838;
    }
  goto ret0;

 L22838: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22839;
  goto ret0;

 L22839: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22840;
  goto ret0;

 L22840: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L22841;
    }
  goto ret0;

 L22841: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22842;
  goto ret0;

 L22842: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L22843;
    }
  goto ret0;

 L22843: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1998;  /* *avx2_gatherdiv8sf_2 */
    }
  goto ret0;

 L31647: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21936;
  goto ret0;

 L21936: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L21937;
    }
  goto ret0;

 L21937: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V8SImode:
      goto L31650;
    case V4DImode:
      goto L31651;
    default:
      break;
    }
  goto ret0;

 L31650: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V8SImode))
    {
      operands[3] = x5;
      goto L21938;
    }
  goto ret0;

 L21938: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21939;
    }
  goto ret0;

 L21939: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21940;
  goto ret0;

 L21940: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21941;
  goto ret0;

 L21941: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V8SFmode))
    {
      operands[4] = x3;
      goto L21942;
    }
  goto ret0;

 L21942: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21943;
  goto ret0;

 L21943: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L21944;
    }
  goto ret0;

 L21944: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1967;  /* *avx2_gathersiv8sf_2 */
    }
  goto ret0;

 L31651: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L22866;
    }
  goto ret0;

 L22866: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22867;
    }
  goto ret0;

 L22867: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22868;
  goto ret0;

 L22868: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22869;
  goto ret0;

 L22869: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L22870;
    }
  goto ret0;

 L22870: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22871;
  goto ret0;

 L22871: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L22872;
    }
  goto ret0;

 L22872: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1999;  /* *avx2_gatherdiv8sf_2 */
    }
  goto ret0;

 L12387: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L12388;
    }
  goto ret0;

 L12388: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L12389;
  goto ret0;

 L12389: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L12390;
    }
  goto ret0;

 L12390: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 733 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1113;  /* *absnegv8sf2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_67 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      goto L31655;
    case VEC_SELECT:
      goto L22970;
    case NEG:
    case ABS:
      goto L31652;
    default:
      goto ret0;
   }
 L31652: ATTRIBUTE_UNUSED_LABEL
  if (absneg_operator (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L12395;
    }
  goto ret0;

 L31655: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L21324;
  goto ret0;

 L21324: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4SFmode))
    {
      operands[2] = x3;
      goto L21325;
    }
  if (GET_CODE (x3) == PC)
    goto L21789;
  goto ret0;

 L21325: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SFmode))
    {
      operands[7] = x3;
      goto L21326;
    }
  goto ret0;

 L21326: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31656;
    case DImode:
      goto L31657;
    default:
      break;
    }
  goto ret0;

 L31656: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21327;
  goto ret0;

 L21327: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L21328;
    }
  goto ret0;

 L21328: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31658;
    case V2DImode:
      goto L31659;
    default:
      break;
    }
  goto ret0;

 L31658: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21329;
    }
  goto ret0;

 L21329: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21330;
    }
  goto ret0;

 L21330: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21331;
  goto ret0;

 L21331: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21332;
  goto ret0;

 L21332: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L21333;
    }
  goto ret0;

 L21333: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21334;
  goto ret0;

 L21334: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L21335;
    }
  goto ret0;

 L21335: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1946;  /* *avx2_gathersiv4sf */
    }
  goto ret0;

 L31659: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[4] = x5;
      goto L22257;
    }
  goto ret0;

 L22257: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22258;
    }
  goto ret0;

 L22258: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22259;
  goto ret0;

 L22259: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22260;
  goto ret0;

 L22260: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L22261;
    }
  goto ret0;

 L22261: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22262;
  goto ret0;

 L22262: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L22263;
    }
  goto ret0;

 L22263: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1978;  /* *avx2_gatherdiv4sf */
    }
  goto ret0;

 L31657: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21356;
  goto ret0;

 L21356: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L21357;
    }
  goto ret0;

 L21357: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31660;
    case V2DImode:
      goto L31661;
    default:
      break;
    }
  goto ret0;

 L31660: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21358;
    }
  goto ret0;

 L21358: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21359;
    }
  goto ret0;

 L21359: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21360;
  goto ret0;

 L21360: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21361;
  goto ret0;

 L21361: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L21362;
    }
  goto ret0;

 L21362: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21363;
  goto ret0;

 L21363: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L21364;
    }
  goto ret0;

 L21364: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1947;  /* *avx2_gathersiv4sf */
    }
  goto ret0;

 L31661: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[4] = x5;
      goto L22286;
    }
  goto ret0;

 L22286: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22287;
    }
  goto ret0;

 L22287: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22288;
  goto ret0;

 L22288: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22289;
  goto ret0;

 L22289: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L22290;
    }
  goto ret0;

 L22290: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22291;
  goto ret0;

 L22291: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L22292;
    }
  goto ret0;

 L22292: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1979;  /* *avx2_gatherdiv4sf */
    }
  goto ret0;

 L21789: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SFmode))
    {
      operands[6] = x3;
      goto L21790;
    }
  goto ret0;

 L21790: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31662;
    case DImode:
      goto L31663;
    default:
      break;
    }
  goto ret0;

 L31662: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21791;
  goto ret0;

 L21791: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L21792;
    }
  goto ret0;

 L21792: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31664;
    case V2DImode:
      goto L31665;
    default:
      break;
    }
  goto ret0;

 L31664: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21793;
    }
  goto ret0;

 L21793: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21794;
    }
  goto ret0;

 L21794: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21795;
  goto ret0;

 L21795: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21796;
  goto ret0;

 L21796: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L21797;
    }
  goto ret0;

 L21797: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21798;
  goto ret0;

 L21798: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L21799;
    }
  goto ret0;

 L21799: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1962;  /* *avx2_gathersiv4sf_2 */
    }
  goto ret0;

 L31665: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[3] = x5;
      goto L22721;
    }
  goto ret0;

 L22721: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22722;
    }
  goto ret0;

 L22722: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22723;
  goto ret0;

 L22723: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22724;
  goto ret0;

 L22724: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L22725;
    }
  goto ret0;

 L22725: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22726;
  goto ret0;

 L22726: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L22727;
    }
  goto ret0;

 L22727: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1994;  /* *avx2_gatherdiv4sf_2 */
    }
  goto ret0;

 L31663: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21820;
  goto ret0;

 L21820: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L21821;
    }
  goto ret0;

 L21821: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31666;
    case V2DImode:
      goto L31667;
    default:
      break;
    }
  goto ret0;

 L31666: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21822;
    }
  goto ret0;

 L21822: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21823;
    }
  goto ret0;

 L21823: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21824;
  goto ret0;

 L21824: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21825;
  goto ret0;

 L21825: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L21826;
    }
  goto ret0;

 L21826: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21827;
  goto ret0;

 L21827: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L21828;
    }
  goto ret0;

 L21828: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1963;  /* *avx2_gathersiv4sf_2 */
    }
  goto ret0;

 L31667: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[3] = x5;
      goto L22750;
    }
  goto ret0;

 L22750: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22751;
    }
  goto ret0;

 L22751: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22752;
  goto ret0;

 L22752: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22753;
  goto ret0;

 L22753: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L22754;
    }
  goto ret0;

 L22754: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22755;
  goto ret0;

 L22755: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L22756;
    }
  goto ret0;

 L22756: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1995;  /* *avx2_gatherdiv4sf_2 */
    }
  goto ret0;

 L22970: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8SFmode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 4
      && XINT (x3, 1) == 135)
    goto L22971;
  goto ret0;

 L22971: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (register_operand (x4, V4SFmode))
    {
      operands[2] = x4;
      goto L22972;
    }
  if (GET_CODE (x4) == PC)
    goto L23132;
  goto ret0;

 L22972: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (vsib_mem_operator (x4, SFmode))
    {
      operands[7] = x4;
      goto L22973;
    }
  goto ret0;

 L22973: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  switch (GET_MODE (x5))
    {
    case SImode:
      goto L31668;
    case DImode:
      goto L31669;
    default:
      break;
    }
  goto ret0;

 L31668: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == UNSPEC
      && XVECLEN (x5, 0) == 3
      && XINT (x5, 1) == 136)
    goto L22974;
  goto ret0;

 L22974: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (vsib_address_operand (x6, SImode))
    {
      operands[3] = x6;
      goto L22975;
    }
  goto ret0;

 L22975: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (register_operand (x6, V4DImode))
    {
      operands[4] = x6;
      goto L22976;
    }
  goto ret0;

 L22976: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (const1248_operand (x6, SImode))
    {
      operands[6] = x6;
      goto L22977;
    }
  goto ret0;

 L22977: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L22978;
  goto ret0;

 L22978: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == SCRATCH)
    goto L22979;
  goto ret0;

 L22979: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (register_operand (x4, V4SFmode))
    {
      operands[5] = x4;
      goto L22980;
    }
  goto ret0;

 L22980: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L22981;
  goto ret0;

 L22981: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L22982;
  goto ret0;

 L22982: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L22983;
  goto ret0;

 L22983: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L22984;
  goto ret0;

 L22984: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L22985;
  goto ret0;

 L22985: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22986;
  goto ret0;

 L22986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L22987;
    }
  goto ret0;

 L22987: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12705 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 2002;  /* *avx2_gatherdiv8sf_3 */
    }
  goto ret0;

 L31669: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == UNSPEC
      && XVECLEN (x5, 0) == 3
      && XINT (x5, 1) == 136)
    goto L23014;
  goto ret0;

 L23014: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (vsib_address_operand (x6, DImode))
    {
      operands[3] = x6;
      goto L23015;
    }
  goto ret0;

 L23015: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (register_operand (x6, V4DImode))
    {
      operands[4] = x6;
      goto L23016;
    }
  goto ret0;

 L23016: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (const1248_operand (x6, SImode))
    {
      operands[6] = x6;
      goto L23017;
    }
  goto ret0;

 L23017: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L23018;
  goto ret0;

 L23018: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == SCRATCH)
    goto L23019;
  goto ret0;

 L23019: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (register_operand (x4, V4SFmode))
    {
      operands[5] = x4;
      goto L23020;
    }
  goto ret0;

 L23020: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L23021;
  goto ret0;

 L23021: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23022;
  goto ret0;

 L23022: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23023;
  goto ret0;

 L23023: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23024;
  goto ret0;

 L23024: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L23025;
  goto ret0;

 L23025: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23026;
  goto ret0;

 L23026: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L23027;
    }
  goto ret0;

 L23027: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12705 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 2003;  /* *avx2_gatherdiv8sf_3 */
    }
  goto ret0;

 L23132: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (vsib_mem_operator (x4, SFmode))
    {
      operands[6] = x4;
      goto L23133;
    }
  goto ret0;

 L23133: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  switch (GET_MODE (x5))
    {
    case SImode:
      goto L31670;
    case DImode:
      goto L31671;
    default:
      break;
    }
  goto ret0;

 L31670: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == UNSPEC
      && XVECLEN (x5, 0) == 3
      && XINT (x5, 1) == 136)
    goto L23134;
  goto ret0;

 L23134: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (vsib_address_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L23135;
    }
  goto ret0;

 L23135: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (register_operand (x6, V4DImode))
    {
      operands[3] = x6;
      goto L23136;
    }
  goto ret0;

 L23136: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (const1248_operand (x6, SImode))
    {
      operands[5] = x6;
      goto L23137;
    }
  goto ret0;

 L23137: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L23138;
  goto ret0;

 L23138: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == SCRATCH)
    goto L23139;
  goto ret0;

 L23139: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (register_operand (x4, V4SFmode))
    {
      operands[4] = x4;
      goto L23140;
    }
  goto ret0;

 L23140: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L23141;
  goto ret0;

 L23141: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23142;
  goto ret0;

 L23142: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23143;
  goto ret0;

 L23143: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23144;
  goto ret0;

 L23144: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L23145;
  goto ret0;

 L23145: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23146;
  goto ret0;

 L23146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L23147;
    }
  goto ret0;

 L23147: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12728 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 2006;  /* *avx2_gatherdiv8sf_4 */
    }
  goto ret0;

 L31671: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x5) == UNSPEC
      && XVECLEN (x5, 0) == 3
      && XINT (x5, 1) == 136)
    goto L23174;
  goto ret0;

 L23174: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 0);
  if (vsib_address_operand (x6, DImode))
    {
      operands[2] = x6;
      goto L23175;
    }
  goto ret0;

 L23175: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 1);
  if (register_operand (x6, V4DImode))
    {
      operands[3] = x6;
      goto L23176;
    }
  goto ret0;

 L23176: ATTRIBUTE_UNUSED_LABEL
  x6 = XVECEXP (x5, 0, 2);
  if (const1248_operand (x6, SImode))
    {
      operands[5] = x6;
      goto L23177;
    }
  goto ret0;

 L23177: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L23178;
  goto ret0;

 L23178: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == SCRATCH)
    goto L23179;
  goto ret0;

 L23179: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (register_operand (x4, V4SFmode))
    {
      operands[4] = x4;
      goto L23180;
    }
  goto ret0;

 L23180: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 4)
    goto L23181;
  goto ret0;

 L23181: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23182;
  goto ret0;

 L23182: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L23183;
  goto ret0;

 L23183: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L23184;
  goto ret0;

 L23184: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L23185;
  goto ret0;

 L23185: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23186;
  goto ret0;

 L23186: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L23187;
    }
  goto ret0;

 L23187: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12728 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 2007;  /* *avx2_gatherdiv8sf_4 */
    }
  goto ret0;

 L12395: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L12396;
    }
  goto ret0;

 L12396: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L12397;
  goto ret0;

 L12397: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L12398;
    }
  goto ret0;

 L12398: ATTRIBUTE_UNUSED_LABEL
  if (
#line 733 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1114;  /* *absnegv4sf2 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_68 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case CCFPmode:
      goto L30964;
    case CCFPUmode:
      goto L30965;
    case SImode:
      goto L30966;
    case DImode:
      goto L30967;
    case QImode:
      goto L30972;
    case HImode:
      goto L30973;
    case XFmode:
      goto L30974;
    case SFmode:
      goto L30975;
    case DFmode:
      goto L30976;
    case TImode:
      goto L30985;
    case CCmode:
      goto L30986;
    case CCZmode:
      goto L30990;
    case TFmode:
      goto L30991;
    default:
      break;
    }
 L536: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case STRICT_LOW_PART:
      goto L537;
    case REG:
      goto L30996;
    default:
     break;
   }
 L2744: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) == CCCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L2745;
  if (GET_CODE (x2) == PC)
    goto L7430;
 L7617: ATTRIBUTE_UNUSED_LABEL
  operands[0] = x2;
  goto L7618;
 L7848: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L30997;
    case CCZmode:
      goto L30998;
    case HImode:
      goto L30999;
    case DImode:
      goto L31000;
    case CCmode:
      goto L31001;
    case XFmode:
      goto L31002;
    case SFmode:
      goto L31003;
    case DFmode:
      goto L31004;
    case V4SImode:
      goto L31011;
    case V8SFmode:
      goto L31012;
    case V4SFmode:
      goto L31013;
    case V4DFmode:
      goto L31014;
    case V2DFmode:
      goto L31015;
    case V16QImode:
      goto L31016;
    case V8HImode:
      goto L31017;
    case V2DImode:
      goto L31018;
    case V4DImode:
      goto L31019;
    case V8SImode:
      goto L31020;
    default:
      break;
    }
 L8684: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case REG:
      goto L31021;
    case STRICT_LOW_PART:
      goto L8750;
    default:
     break;
   }
 L23220: ATTRIBUTE_UNUSED_LABEL
  operands[0] = x2;
  goto L23221;
 L23241: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x2))
    {
    case DImode:
      goto L31022;
    case QImode:
      goto L31024;
    case HImode:
      goto L31025;
    case SImode:
      goto L31026;
    case CCZmode:
      goto L31028;
    default:
      break;
    }
  goto ret0;

 L30964: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L147;
  goto L536;

 L147: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == COMPARE)
    goto L164;
  x2 = XEXP (x1, 0);
  goto L536;

 L164: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case XFmode:
      goto L31032;
    case SFmode:
      goto L31033;
    case DFmode:
      goto L31034;
    default:
      break;
    }
 L148: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L238;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L31032: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L165;
    }
  goto L148;

 L165: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L166;
    }
  x3 = XEXP (x2, 0);
  goto L148;

 L166: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L167;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L167: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L168;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L168: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1271 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && TARGET_SAHF && !TARGET_CMOVE))
    {
      return 21;  /* *cmpfp_xf_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L31033: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L188;
    }
  goto L148;

 L188: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L189;
    }
  x3 = XEXP (x2, 0);
  goto L148;

 L189: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L190;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L190: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L191;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L191: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1305 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && TARGET_SAHF && !TARGET_CMOVE))
    {
      return 24;  /* *cmpfp_sf_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L31034: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L197;
    }
  goto L148;

 L197: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[2] = x3;
      goto L198;
    }
  x3 = XEXP (x2, 0);
  goto L148;

 L198: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L199;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L199: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L200;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L200: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1305 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && TARGET_SAHF && !TARGET_CMOVE))
    {
      return 25;  /* *cmpfp_df_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L148;

 L238: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (float_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L239;
    }
  if (const0_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L150;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L239: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case HImode:
      goto L31035;
    case SImode:
      goto L31036;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L31035: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L240;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L240: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L241;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L241: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L242;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L242: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1392 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))
   && (GET_MODE (operands [3]) == GET_MODE (operands[1]))))
    {
      return 30;  /* *cmpfp_hi_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31036: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L250;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L250: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L251;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L251: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L252;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L252: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1392 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))
   && (GET_MODE (operands [3]) == GET_MODE (operands[1]))))
    {
      return 31;  /* *cmpfp_si_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L150: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L151;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L151: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L152;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L152: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1230 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_SAHF && !TARGET_CMOVE
   && GET_MODE (operands[1]) == GET_MODE (operands[2])))
    {
      return 19;  /* *cmpfp_0_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30965: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L211;
  goto L536;

 L211: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCFPUmode
      && GET_CODE (x2) == COMPARE)
    goto L212;
  x2 = XEXP (x1, 0);
  goto L536;

 L212: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L213;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L213: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L214;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L214: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L215;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L215: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L216;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L216: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1346 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_SAHF && !TARGET_CMOVE
   && GET_MODE (operands[1]) == GET_MODE (operands[2])))
    {
      return 27;  /* *cmpfp_u_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30966: ATTRIBUTE_UNUSED_LABEL
  tem = recog_54 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L536;

 L30967: ATTRIBUTE_UNUSED_LABEL
  tem = recog_56 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L536;

 L30972: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L499;
    }
 L30987: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L1849;
    }
  goto L536;

 L499: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode)
    goto L31159;
  x2 = XEXP (x1, 0);
  goto L30987;

 L31159: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == MULT)
    goto L2942;
  if (register_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L500;
    }
  x2 = XEXP (x1, 0);
  goto L30987;

 L2942: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L2943;
    }
  x2 = XEXP (x1, 0);
  goto L30987;

 L2943: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2944;
    }
  x2 = XEXP (x1, 0);
  goto L30987;

 L2944: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2945;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30987;

 L2945: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6751 "../../gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 323;  /* *mulqi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30987;

 L500: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L501;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30987;

 L501: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L502;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30987;

 L502: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 2374 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    {
      return 77;  /* *swapqi_1 */
    }
 L516: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x2, operands[0])
      && 
#line 2390 "../../gcc/config/i386/i386.md"
(TARGET_PARTIAL_REG_STALL))
    {
      return 79;  /* *swapqi_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30987;

 L1849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode)
    goto L31160;
  x2 = XEXP (x1, 0);
  goto L536;

 L31160: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L1850;
    case MINUS:
      goto L2312;
    case AND:
      goto L3908;
    case IOR:
      goto L4250;
    case XOR:
      goto L4264;
    case NEG:
      goto L5000;
    case ASHIFT:
      goto L5687;
    case LSHIFTRT:
      goto L6211;
    case ASHIFTRT:
      goto L6225;
    case ROTATE:
      goto L6830;
    case ROTATERT:
      goto L6844;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L536;

 L1850: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L2523;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L2523: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == PLUS)
    goto L2524;
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L1852;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L2524: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2525;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L2525: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2526;
  x2 = XEXP (x1, 0);
  goto L536;

 L2526: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2527;
  x2 = XEXP (x1, 0);
  goto L536;

 L2527: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L2528;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L2528: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2529;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L2529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
    {
      return 300;  /* *addqi3_carry */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1852: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1853;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1853: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5685 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
    {
      return 254;  /* *addqi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L2312: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L2545;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L2545: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == PLUS)
    goto L2546;
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L2314;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L2546: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ix86_carry_flag_operator (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L2547;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L2547: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) == REG
      && XINT (x5, 0) == 17)
    goto L2548;
  x2 = XEXP (x1, 0);
  goto L536;

 L2548: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L2549;
  x2 = XEXP (x1, 0);
  goto L536;

 L2549: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L2550;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L2550: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2551;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L2551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6522 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
    {
      return 301;  /* *subqi3_carry */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L2314: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2315;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L2315: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6415 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, QImode, operands)))
    {
      return 284;  /* *subqi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L3908: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L3909;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L3909: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L3910;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L3910: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3911;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L3911: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7858 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, QImode, operands)))
    {
      return 371;  /* *andqi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L4250: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L4251;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L4251: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L4252;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L4252: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4253;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L4253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8197 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, QImode, operands)))
    {
      return 391;  /* *iorqi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L4264: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L4265;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L4265: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L4266;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L4266: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4267;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L4267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8197 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, QImode, operands)))
    {
      return 392;  /* *xorqi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5000: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L5001;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5001: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5002;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5002: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8533 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, QImode, operands)))
    {
      return 433;  /* *negqi2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5687: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L5688;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5688: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5689;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5689: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5690;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5690: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9297 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, QImode, operands)))
    {
      return 492;  /* *ashlqi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L6211: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6212;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L6212: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6213;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L6213: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6214;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L6214: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9864 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, QImode, operands)))
    {
      return 528;  /* *lshrqi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L6225: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6226;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L6226: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6227;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L6227: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6228;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L6228: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9864 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, QImode, operands)))
    {
      return 529;  /* *ashrqi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L6830: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6831;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L6831: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6832;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L6832: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6833;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L6833: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10262 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, QImode, operands)))
    {
      return 569;  /* *rotlqi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L6844: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6845;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L6845: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6846;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L6846: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6847;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L6847: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10262 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, QImode, operands)))
    {
      return 570;  /* *rotrqi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30973: ATTRIBUTE_UNUSED_LABEL
  tem = recog_57 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L536;

 L30974: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L696;
    }
  goto L536;

 L696: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode)
    goto L31203;
  x2 = XEXP (x1, 0);
  goto L536;

 L31203: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT:
      goto L1307;
    case UNSIGNED_FLOAT:
      goto L1716;
    case REG:
    case SUBREG:
      goto L31202;
    case NEG:
    case ABS:
      goto L31205;
    default:
      x2 = XEXP (x1, 0);
      goto L536;
   }
 L31202: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L697;
    }
 L31205: ATTRIBUTE_UNUSED_LABEL
  if (absneg_operator (x2, XFmode))
    {
      operands[3] = x2;
      goto L5241;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1307: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L31206;
    case SImode:
      goto L31207;
    case DImode:
      goto L31208;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L31206: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L1308;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1308: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1309;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1309: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1310;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1310: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4739 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
    {
      return 183;  /* *floathixf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31207: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1573;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1573: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1574;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1574: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L1575;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1575: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5241 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (XFmode, SImode)))
    {
      return 227;  /* *floatsixf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31208: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L1597;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1597: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1598;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1598: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1599;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1599: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5241 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (XFmode, DImode)))
    {
      return 230;  /* *floatdixf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1716: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1717;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1717: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1718;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1718: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1719;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1719: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5349 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 242;  /* *floatunssixf2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L697: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L698;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L698: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L699;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L699: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 3409 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 111;  /* swapxf */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5241: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L5242;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5242: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L5243;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5243: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  goto L5244;

 L5244: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8617 "../../gcc/config/i386/i386.md"
(TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 449;  /* *absnegxf2_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30975: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L703;
    }
 L30977: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L913;
    }
 L30983: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L1290;
    }
  goto L536;

 L703: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (fp_register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L704;
    }
  x2 = XEXP (x1, 0);
  goto L30977;

 L704: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L705;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30977;

 L705: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L706;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30977;

 L706: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 3424 "../../gcc/config/i386/i386.md"
(TARGET_80387 || reload_completed))
    {
      return 112;  /* *swapsf */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30977;

 L913: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == FLOAT_TRUNCATE)
    goto L914;
  x2 = XEXP (x1, 0);
  goto L30983;

 L914: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case DFmode:
      goto L31209;
    case XFmode:
      goto L31210;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L30983;

 L31209: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L915;
    }
  x2 = XEXP (x1, 0);
  goto L30983;

 L915: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L916;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30983;

 L916: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L917;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30983;

 L917: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4121 "../../gcc/config/i386/i386.md"
(TARGET_MIX_SSE_I387))
    {
      return 143;  /* *truncdfsf_mixed */
    }
 L925: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4145 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 144;  /* *truncdfsf_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30983;

 L31210: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L936;
    }
  x2 = XEXP (x1, 0);
  goto L30983;

 L936: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L937;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30983;

 L937: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L938;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30983;

 L938: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4207 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 146;  /* *truncxfsf2_mixed */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30983;

 L1290: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode)
    goto L31211;
  x2 = XEXP (x1, 0);
  goto L536;

 L31211: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT:
      goto L1291;
    case UNSIGNED_FLOAT:
      goto L1680;
    case UNSPEC:
      goto L31215;
    case NEG:
    case ABS:
      goto L31213;
    default:
      x2 = XEXP (x1, 0);
      goto L536;
   }
 L31213: ATTRIBUTE_UNUSED_LABEL
  if (absneg_operator (x2, SFmode))
    {
      operands[3] = x2;
      goto L5139;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1291: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L31216;
    case SImode:
      goto L31217;
    case DImode:
      goto L31218;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L31216: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L1292;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1292: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1293;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1293: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1294;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1294: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4739 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
    {
      return 181;  /* *floathisf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31217: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1361;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1361: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1362;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1362: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L1363;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1363: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4852 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_MIX_SSE_I387
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)))
    {
      return 193;  /* *floatsisf2_vector_mixed_with_temp */
    }
 L1389: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4884 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387))
    {
      return 197;  /* *floatsisf2_mixed_with_temp */
    }
 L1461: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4977 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)))
    {
      return 209;  /* *floatsisf2_vector_sse_with_temp */
    }
 L1487: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5143 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      return 213;  /* *floatsisf2_sse_with_temp */
    }
 L1559: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5241 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (SFmode, SImode)))
    {
      return 225;  /* *floatsisf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31218: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L1403;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1403: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1404;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1404: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1405;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1405: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4884 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387))
    {
      return 199;  /* *floatdisf2_mixed_with_temp */
    }
 L1503: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5143 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      return 215;  /* *floatdisf2_sse_with_temp */
    }
 L1583: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5241 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (SFmode, DImode)))
    {
      return 228;  /* *floatdisf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1680: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1681;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1681: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1682;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1682: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1683;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1683: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5349 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 240;  /* *floatunssisf2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31215: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 45)
    goto L5353;
  x2 = XEXP (x1, 0);
  goto L536;

 L5353: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L5354;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5354: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SFmode))
    {
      operands[3] = x3;
      goto L5355;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5355: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[4] = x3;
      goto L5356;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5356: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[5] = x3;
      goto L5357;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5357: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5358;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L5359;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5359: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8837 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (SFmode == TFmode))))
    {
      return 466;  /* copysignsf3_var */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5139: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L5140;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5140: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L5141;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5141: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L31219;
 L5209: ATTRIBUTE_UNUSED_LABEL
  operands[2] = x2;
  goto L5210;

 L31219: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L5142;
    }
 L31220: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L5176;
    }
  goto L5209;

 L5142: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8599 "../../gcc/config/i386/i386.md"
(TARGET_MIX_SSE_I387 && SSE_FLOAT_MODE_P (SFmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 443;  /* *absnegsf2_mixed */
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L31220;

 L5176: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8608 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 445;  /* *absnegsf2_sse */
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L5209;

 L5210: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8617 "../../gcc/config/i386/i386.md"
(TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 447;  /* *absnegsf2_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30976: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L710;
    }
 L30978: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L942;
    }
 L30984: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L1298;
    }
  goto L536;

 L710: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (fp_register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L711;
    }
  x2 = XEXP (x1, 0);
  goto L30978;

 L711: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L712;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30978;

 L712: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L713;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30978;

 L713: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 3424 "../../gcc/config/i386/i386.md"
(TARGET_80387 || reload_completed))
    {
      return 113;  /* *swapdf */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30978;

 L942: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == FLOAT_TRUNCATE)
    goto L943;
  x2 = XEXP (x1, 0);
  goto L30984;

 L943: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L944;
    }
  x2 = XEXP (x1, 0);
  goto L30984;

 L944: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L945;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30984;

 L945: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L946;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30984;

 L946: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4221 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return 147;  /* *truncxfdf2_mixed */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30984;

 L1298: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode)
    goto L31221;
  x2 = XEXP (x1, 0);
  goto L536;

 L31221: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT:
      goto L1299;
    case UNSIGNED_FLOAT:
      goto L1698;
    case UNSPEC:
      goto L31225;
    case NEG:
    case ABS:
      goto L31223;
    default:
      x2 = XEXP (x1, 0);
      goto L536;
   }
 L31223: ATTRIBUTE_UNUSED_LABEL
  if (absneg_operator (x2, DFmode))
    {
      operands[3] = x2;
      goto L5156;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1299: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L31226;
    case SImode:
      goto L31227;
    case DImode:
      goto L31228;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L31226: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L1300;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1300: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1301;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1301: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1302;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1302: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4739 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
    {
      return 182;  /* *floathidf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31227: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1369;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1369: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1370;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1370: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L1371;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1371: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4852 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_MIX_SSE_I387
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)))
    {
      return 194;  /* *floatsidf2_vector_mixed_with_temp */
    }
 L1397: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4884 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387))
    {
      return 198;  /* *floatsidf2_mixed_with_temp */
    }
 L1469: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4977 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)))
    {
      return 210;  /* *floatsidf2_vector_sse_with_temp */
    }
 L1495: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5143 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 214;  /* *floatsidf2_sse_with_temp */
    }
 L1567: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5241 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (DFmode, SImode)))
    {
      return 226;  /* *floatsidf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31228: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L1411;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1411: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1412;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1412: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1413;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1413: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4884 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387))
    {
      return 200;  /* *floatdidf2_mixed_with_temp */
    }
 L1511: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5143 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 216;  /* *floatdidf2_sse_with_temp */
    }
 L1591: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5241 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (DFmode, DImode)))
    {
      return 229;  /* *floatdidf2_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1698: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1699;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1699: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1700;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1700: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1701;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1701: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5349 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 241;  /* *floatunssidf2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31225: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 45)
    goto L5372;
  x2 = XEXP (x1, 0);
  goto L536;

 L5372: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DFmode))
    {
      operands[2] = x3;
      goto L5373;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5373: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, DFmode))
    {
      operands[3] = x3;
      goto L5374;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5374: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[4] = x3;
      goto L5375;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5375: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[5] = x3;
      goto L5376;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5376: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5377;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5377: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L5378;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5378: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8837 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (DFmode == TFmode))))
    {
      return 467;  /* copysigndf3_var */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5156: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L5157;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5157: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L5158;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5158: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L31229;
 L5226: ATTRIBUTE_UNUSED_LABEL
  operands[2] = x2;
  goto L5227;

 L31229: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L5159;
    }
 L31230: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L5193;
    }
  goto L5226;

 L5159: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8599 "../../gcc/config/i386/i386.md"
(TARGET_MIX_SSE_I387 && SSE_FLOAT_MODE_P (DFmode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 444;  /* *absnegdf2_mixed */
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L31230;

 L5193: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8608 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 446;  /* *absnegdf2_sse */
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L5226;

 L5227: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8617 "../../gcc/config/i386/i386.md"
(TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 448;  /* *absnegdf2_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30985: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, TImode))
    {
      operands[0] = x2;
      goto L1744;
    }
 L30989: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, TImode))
    {
      operands[0] = x2;
      goto L3005;
    }
  goto L536;

 L1744: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode)
    goto L31231;
  x2 = XEXP (x1, 0);
  goto L30989;

 L31231: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L1745;
    case MINUS:
      goto L2298;
    case NEG:
      goto L4988;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L30989;

 L1745: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L1746;
    }
  x2 = XEXP (x1, 0);
  goto L30989;

 L1746: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, TImode))
    {
      operands[2] = x3;
      goto L1747;
    }
  x2 = XEXP (x1, 0);
  goto L30989;

 L1747: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1748;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30989;

 L1748: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 5474 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, TImode, operands)) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 246;  /* *addti3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30989;

 L2298: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L2299;
    }
  x2 = XEXP (x1, 0);
  goto L30989;

 L2299: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, TImode))
    {
      operands[2] = x3;
      goto L2300;
    }
  x2 = XEXP (x1, 0);
  goto L30989;

 L2300: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2301;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30989;

 L2301: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6393 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 283;  /* *subti3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30989;

 L4988: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L4989;
    }
  x2 = XEXP (x1, 0);
  goto L30989;

 L4989: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4990;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30989;

 L4990: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 8510 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, TImode, operands)) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 432;  /* *negti2_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L30989;

 L3005: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode)
    goto L31234;
  x2 = XEXP (x1, 0);
  goto L536;

 L31234: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MULT:
      goto L3006;
    case ASHIFT:
      goto L5506;
    case LSHIFTRT:
      goto L5963;
    case ASHIFTRT:
      goto L5977;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L536;

 L3006: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == TImode)
    goto L31238;
  x2 = XEXP (x1, 0);
  goto L536;

 L31238: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case ZERO_EXTEND:
      goto L3007;
    case SIGN_EXTEND:
      goto L3043;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L536;

 L3007: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L3008;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L3008: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == TImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L3009;
  x2 = XEXP (x1, 0);
  goto L536;

 L3009: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L3010;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L3010: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3011;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L3011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6827 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 327;  /* *umulditi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L3043: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L3044;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L3044: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == TImode
      && GET_CODE (x3) == SIGN_EXTEND)
    goto L3045;
  x2 = XEXP (x1, 0);
  goto L536;

 L3045: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L3046;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L3046: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3047;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L3047: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6878 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 329;  /* *mulditi3_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5506: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_pm1_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L5507;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5507: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5508;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5508: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5509;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5509: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 480;  /* *ashlti3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5963: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L5964;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5964: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5965;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5965: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5966;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 509;  /* *lshrti3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5977: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L5978;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5978: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L5979;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5979: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5980;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5980: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 510;  /* *ashrti3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30986: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L1758;
  goto L536;

 L1758: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 28)
    goto L1759;
  x2 = XEXP (x1, 0);
  goto L536;

 L1759: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L31240;
    case DImode:
      goto L31241;
    case QImode:
      goto L31242;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L31240: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1760;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1760: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x86_64_general_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L1761;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1761: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L1762;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1762: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L1763;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1763: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L1764;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1764: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L1765;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1765: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 5499 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 247;  /* *addsi3_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31241: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L1771;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1771: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L1772;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1772: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L1773;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1773: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L1774;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L1775;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1775: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L1776;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1776: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && (
#line 5499 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 248;  /* *adddi3_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31242: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L1782;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1782: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (general_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L1783;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L1783: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L1784;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1784: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L1785;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1785: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == PLUS)
    goto L1786;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1786: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L1787;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L1787: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 5512 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
    {
      return 249;  /* addqi3_cc */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30990: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L5066;
  goto L536;

 L5066: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == COMPARE)
    goto L5067;
  x2 = XEXP (x1, 0);
  goto L536;

 L5067: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case QImode:
      goto L31243;
    case HImode:
      goto L31244;
    case SImode:
      goto L31245;
    case DImode:
      goto L31246;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L31243: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L5068;
  x2 = XEXP (x1, 0);
  goto L536;

 L5068: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L5069;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5069: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5070;
  x2 = XEXP (x1, 0);
  goto L536;

 L5070: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5071;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5071: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L5072;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5072: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == NEG)
    goto L5073;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5073: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8562 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, QImode, operands)))
    {
      return 438;  /* *negqi2_cmpz */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31244: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L5079;
  x2 = XEXP (x1, 0);
  goto L536;

 L5079: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L5080;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5080: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5081;
  x2 = XEXP (x1, 0);
  goto L536;

 L5081: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5082;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5082: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L5083;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5083: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == NEG)
    goto L5084;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5084: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8562 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, HImode, operands)))
    {
      return 439;  /* *neghi2_cmpz */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31245: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NEG)
    goto L5090;
  x2 = XEXP (x1, 0);
  goto L536;

 L5090: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L5091;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5091: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5092;
  x2 = XEXP (x1, 0);
  goto L536;

 L5092: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5093;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5093: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L5094;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5094: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == NEG)
    goto L5095;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5095: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 8562 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, SImode, operands)))
    {
      return 440;  /* *negsi2_cmpz */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L31246: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case NEG:
      goto L5101;
    case LSHIFTRT:
      goto L5112;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L536;

 L5101: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L5102;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5102: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5103;
  x2 = XEXP (x1, 0);
  goto L536;

 L5103: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5104;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5104: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5105;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5105: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NEG)
    goto L5106;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5106: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && (
#line 8562 "../../gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 441;  /* *negdi2_cmpz */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5112: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == NEG)
    goto L5113;
  x2 = XEXP (x1, 0);
  goto L536;

 L5113: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode
      && GET_CODE (x5) == ASHIFT)
    goto L5114;
  x2 = XEXP (x1, 0);
  goto L536;

 L5114: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, DImode))
    {
      operands[1] = x6;
      goto L5115;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5115: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L5116;
  x2 = XEXP (x1, 0);
  goto L536;

 L5116: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L5117;
  x2 = XEXP (x1, 0);
  goto L536;

 L5117: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L5118;
  x2 = XEXP (x1, 0);
  goto L536;

 L5118: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L5119;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5119: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L5120;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5120: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == LSHIFTRT)
    goto L5121;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5121: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == NEG)
    goto L5122;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5122: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == ASHIFT)
    goto L5123;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5123: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (rtx_equal_p (x5, operands[1]))
    goto L5124;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5124: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L5125;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5125: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (32)]
      && 
#line 8580 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_unary_operator_ok (NEG, SImode, operands)))
    {
      return 442;  /* *negsi2_cmpz_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L30991: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, TFmode))
    {
      operands[0] = x2;
      goto L5257;
    }
  goto L536;

 L5257: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TFmode)
    goto L31249;
  x2 = XEXP (x1, 0);
  goto L536;

 L31249: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 45)
    goto L5391;
  if (absneg_operator (x2, TFmode))
    {
      operands[3] = x2;
      goto L5258;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5391: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, TFmode))
    {
      operands[2] = x3;
      goto L5392;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5392: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, TFmode))
    {
      operands[3] = x3;
      goto L5393;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5393: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (nonimmediate_operand (x3, TFmode))
    {
      operands[4] = x3;
      goto L5394;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5394: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (nonimmediate_operand (x3, TFmode))
    {
      operands[5] = x3;
      goto L5395;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5395: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5396;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, TFmode))
    {
      operands[1] = x2;
      goto L5397;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5397: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8837 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (TFmode == TFmode))))
    {
      return 468;  /* copysigntf3_var */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5258: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TFmode))
    {
      operands[1] = x3;
      goto L5259;
    }
  x2 = XEXP (x1, 0);
  goto L536;

 L5259: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L5260;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5260: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L5261;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L5261: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8632 "../../gcc/config/i386/i386.md"
(TARGET_SSE2)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 450;  /* *absnegtf2_sse */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L536;

 L537: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case QImode:
      goto L31250;
    case HImode:
      goto L31251;
    default:
      break;
    }
  goto L7617;

 L31250: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, QImode))
    {
      operands[0] = x3;
      goto L538;
    }
 L31252: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, QImode))
    {
      operands[0] = x3;
      goto L1864;
    }
  goto L7617;

 L538: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L539;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31252;

 L539: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L540;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31252;

 L540: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 2426 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return 83;  /* *movstrictqi_xor */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31252;

 L1864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode)
    goto L31253;
  x2 = XEXP (x1, 0);
  goto L7617;

 L31253: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L1865;
    case MINUS:
      goto L2385;
    case AND:
      goto L3923;
    case IOR:
      goto L4343;
    case XOR:
      goto L4359;
    case ASHIFT:
      goto L5702;
    case LSHIFTRT:
      goto L6268;
    case ASHIFTRT:
      goto L6284;
    case ROTATE:
      goto L6887;
    case ROTATERT:
      goto L6903;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7617;

 L1865: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L1866;
  x2 = XEXP (x1, 0);
  goto L7617;

 L1866: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L1867;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L1867: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1868;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L1868: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5746 "../../gcc/config/i386/i386.md"
((! TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 255;  /* *addqi_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2385: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L2386;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2386: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L2387;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2387: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L2388;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2388: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6436 "../../gcc/config/i386/i386.md"
((! TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 289;  /* *subqi_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L3923: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L3924;
  x2 = XEXP (x1, 0);
  goto L7617;

 L3924: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L3925;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L3925: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3926;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L3926: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7871 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 372;  /* *andqi_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L4343: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L4344;
  x2 = XEXP (x1, 0);
  goto L7617;

 L4344: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L4345;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L4345: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L4346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8233 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 397;  /* *iorqi_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L4359: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L4360;
  x2 = XEXP (x1, 0);
  goto L7617;

 L4360: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (general_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L4361;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L4361: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L4362;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L4362: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8233 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    {
      return 398;  /* *xorqi_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L5702: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L5703;
  x2 = XEXP (x1, 0);
  goto L7617;

 L5703: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L5704;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L5704: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L5705;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L5705: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9354 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_FLAG_REG_STALL
    || (operands[1] == const1_rtx
	&& (TARGET_SHIFT1
	    || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))))
    {
      return 493;  /* *ashlqi3_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L6268: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L6269;
  x2 = XEXP (x1, 0);
  goto L7617;

 L6269: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6270;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L6270: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6271;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L6271: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9887 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
    {
      return 532;  /* *lshrqi3_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L6284: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L6285;
  x2 = XEXP (x1, 0);
  goto L7617;

 L6285: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6286;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L6286: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6287;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L6287: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9887 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
    {
      return 533;  /* *ashrqi3_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L6887: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L6888;
  x2 = XEXP (x1, 0);
  goto L7617;

 L6888: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6889;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L6889: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6890;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L6890: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10285 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
    {
      return 573;  /* *rotlqi3_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L6903: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L6904;
  x2 = XEXP (x1, 0);
  goto L7617;

 L6904: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L6905;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L6905: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6906;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L6906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10285 "../../gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
    {
      return 574;  /* *rotrqi3_1_slp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L31251: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, HImode))
    {
      operands[0] = x3;
      goto L550;
    }
  goto L7617;

 L550: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const0_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L551;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L551: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L552;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L552: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 2426 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return 84;  /* *movstricthi_xor */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L30996: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L1879;
  goto L2744;

 L1879: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L1880;
  x2 = XEXP (x1, 0);
  goto L2744;

 L1880: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case QImode:
      goto L31263;
    case HImode:
      goto L31264;
    case SImode:
      goto L31265;
    case DImode:
      goto L31266;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L2744;

 L31263: ATTRIBUTE_UNUSED_LABEL
  tem = recog_58 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L2744;

 L31264: ATTRIBUTE_UNUSED_LABEL
  tem = recog_59 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L2744;

 L31265: ATTRIBUTE_UNUSED_LABEL
  tem = recog_60 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L2744;

 L31266: ATTRIBUTE_UNUSED_LABEL
  tem = recog_61 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L2744;

 L2745: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCCmode
      && GET_CODE (x2) == COMPARE)
    goto L2746;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2746: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case QImode:
      goto L31354;
    case HImode:
      goto L31355;
    case SImode:
      goto L31356;
    case DImode:
      goto L31357;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L31354: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == PLUS)
    goto L2747;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2747: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L2748;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2748: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L2749;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2749: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L2750;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2750: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case CLOBBER:
      goto L2751;
    case SET:
      goto L2823;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2751: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L2752;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2752: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6568 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 310;  /* *addqi3_cconly_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2823: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L2824;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == PLUS)
    goto L2825;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2825: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2826;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2826: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6582 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
    {
      return 314;  /* *addqi3_cc_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L31355: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == PLUS)
    goto L2765;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2765: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L2766;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2766: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L2767;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2767: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L2768;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2768: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case CLOBBER:
      goto L2769;
    case SET:
      goto L2836;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2769: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L2770;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2770: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6568 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 311;  /* *addhi3_cconly_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2836: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L2837;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2837: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == PLUS)
    goto L2838;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2838: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2839;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2839: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6582 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
    {
      return 315;  /* *addhi3_cc_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L31356: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == PLUS)
    goto L2783;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2783: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L2784;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2784: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L2785;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2785: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L2786;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2786: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case CLOBBER:
      goto L2787;
    case SET:
      goto L2849;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2787: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L2788;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2788: ATTRIBUTE_UNUSED_LABEL
  if (
#line 6568 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 312;  /* *addsi3_cconly_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31358;
    case DImode:
      goto L31359;
    default:
      break;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L31358: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L2850;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2850: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L2851;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2851: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2852;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2852: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 6582 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 316;  /* *addsi3_cc_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L31359: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2876;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2876: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L2877;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2877: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L2878;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2878: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L2879;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2879: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 6596 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
    {
      return 318;  /* *addsi3_zext_cc_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L31357: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == PLUS)
    goto L2801;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2801: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L2802;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2802: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L2803;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L2803: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L2804;
  x2 = XEXP (x1, 0);
  goto L7617;

 L2804: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case CLOBBER:
      goto L2805;
    case SET:
      goto L2862;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2805: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2806;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2806: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6568 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 313;  /* *adddi3_cconly_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2862: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L2863;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2863: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L2864;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2864: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L2865;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L2865: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[2])
      && (
#line 6582 "../../gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 317;  /* *adddi3_cc_overflow */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7430: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31360;
    case DImode:
      goto L31361;
    default:
      break;
    }
 L7050: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == IF_THEN_ELSE)
    goto L7051;
  x2 = XEXP (x1, 0);
  goto L7617;

 L31360: ATTRIBUTE_UNUSED_LABEL
  if (indirect_branch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L7431;
    }
  goto L7050;

 L7431: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L7432;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L7050;

 L7432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7433;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L7050;

 L7433: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  goto L7434;

 L7434: ATTRIBUTE_UNUSED_LABEL
  if (
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 605;  /* *tablejump_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L7050;

 L31361: ATTRIBUTE_UNUSED_LABEL
  if (indirect_branch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L7439;
    }
  goto L7050;

 L7439: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L7440;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L7050;

 L7440: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == LABEL_REF)
    goto L7441;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L7050;

 L7441: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  goto L7442;

 L7442: ATTRIBUTE_UNUSED_LABEL
  if (
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 606;  /* *tablejump_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  goto L7050;

 L7051: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (bt_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L7052;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7052: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31362;
    case DImode:
      goto L31363;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L31362: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case ZERO_EXTRACT:
      goto L7053;
    case AND:
      goto L7169;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7053: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[1] = x5;
      goto L7054;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7054: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L7055;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7055: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 2);
  if (GET_MODE (x5) == SImode)
    goto L31365;
  x2 = XEXP (x1, 0);
  goto L7617;

 L31365: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x5))
    {
    case ZERO_EXTEND:
      goto L7056;
    case AND:
      goto L7114;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7056: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, QImode))
    {
      operands[2] = x6;
      goto L7057;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7057: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7058;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7058: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7059;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7059: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L7060;

 L7060: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7061;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7061: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7062;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7062: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10800 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)))
    {
      return 589;  /* *jcc_btsi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7114: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L7115;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7115: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (const_int_operand (x6, SImode))
    {
      operands[3] = x6;
      goto L7116;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7116: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7117;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7117: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[4] = x4;
  goto L7118;

 L7118: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7119;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7119: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7120;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7120: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10834 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1))
    {
      return 591;  /* *jcc_btsi_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7169: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == LSHIFTRT)
    goto L7170;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7170: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, SImode))
    {
      operands[1] = x6;
      goto L7171;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7171: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == QImode)
    goto L31367;
  x2 = XEXP (x1, 0);
  goto L7617;

 L31367: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x6, QImode))
    {
      operands[2] = x6;
      goto L7172;
    }
 L31368: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x6) == SUBREG
      && XINT (x6, 1) == 0)
    goto L7201;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7172: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L7173;
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L31368;

 L7173: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7174;
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L31368;

 L7174: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7175;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L31368;

 L7175: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L7176;

 L7176: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7177;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L31368;

 L7177: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7178;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L31368;

 L7178: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10868 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)))
    {
      return 593;  /* *jcc_btsi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L31368;

 L7201: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) == SImode
      && GET_CODE (x7) == AND)
    goto L7202;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7202: ATTRIBUTE_UNUSED_LABEL
  x8 = XEXP (x7, 0);
  if (register_operand (x8, SImode))
    {
      operands[2] = x8;
      goto L7203;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7203: ATTRIBUTE_UNUSED_LABEL
  x8 = XEXP (x7, 1);
  if (const_int_operand (x8, SImode))
    {
      operands[3] = x8;
      goto L7204;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7204: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L7205;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7205: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7206;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7206: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7207;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7207: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[4] = x4;
  goto L7208;

 L7208: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7209;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7209: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7210;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7210: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10905 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & 0x1f) == 0x1f))
    {
      return 594;  /* *jcc_btsi_mask_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L31363: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == ZERO_EXTRACT)
    goto L7082;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7082: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, DImode))
    {
      operands[1] = x5;
      goto L7083;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7083: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L7084;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7084: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 2);
  if (GET_MODE (x5) == SImode)
    goto L31369;
  x2 = XEXP (x1, 0);
  goto L7617;

 L31369: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x5))
    {
    case ZERO_EXTEND:
      goto L7085;
    case AND:
      goto L7143;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7085: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, QImode))
    {
      operands[2] = x6;
      goto L7086;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7086: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7087;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7087: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7088;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7088: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L7089;

 L7089: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7090;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7090: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7091;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7091: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10800 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 590;  /* *jcc_btdi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7143: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L7144;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7144: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (const_int_operand (x6, SImode))
    {
      operands[3] = x6;
      goto L7145;
    }
  x2 = XEXP (x1, 0);
  goto L7617;

 L7145: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7146;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7146: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[4] = x4;
  goto L7147;

 L7147: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7148;
  x2 = XEXP (x1, 0);
  goto L7617;

 L7148: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7149;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7149: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10834 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 592;  /* *jcc_btdi_mask */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7617;

 L7618: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL)
    goto L7619;
  x2 = XEXP (x1, 0);
  goto L7848;

 L7619: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MEM)
    goto L7620;
  x2 = XEXP (x1, 0);
  goto L7848;

 L7620: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31371;
    case DImode:
      goto L31372;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L7848;

 L31371: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L7621;
    }
 L31373: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L7655;
    }
 L31376: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L7782;
    }
 L31377: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L7810;
    }
  x2 = XEXP (x1, 0);
  goto L7848;

 L7621: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7622;

 L7622: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7623;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31373;

 L7623: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L7624;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31373;

 L7624: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11448 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 621;  /* *call_value_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31373;

 L7655: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7656;

 L7656: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7657;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31376;

 L7657: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L7658;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31376;

 L7658: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11469 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 625;  /* *sibcall_value_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31376;

 L7782: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7783;

 L7783: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7784;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31377;

 L7784: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L7785;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31377;

 L7785: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7786;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31377;

 L7786: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L7787;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31377;

 L7787: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L7788;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31377;

 L7788: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11568 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && !SIBLING_CALL_P (insn)))
    {
      return 632;  /* *call_value_pop */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31377;

 L7810: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7811;

 L7811: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7812;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7848;

 L7812: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L7813;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7848;

 L7813: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7814;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7848;

 L7814: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L7815;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7848;

 L7815: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L7816;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7848;

 L7816: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11595 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && SIBLING_CALL_P (insn)))
    {
      return 634;  /* *sibcall_value_pop */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7848;

 L31372: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L7631;
    }
 L31374: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L7665;
    }
 L31375: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L7758;
    }
  x2 = XEXP (x1, 0);
  goto L7848;

 L7631: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7632;

 L7632: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7633;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31374;

 L7633: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L7634;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31374;

 L7634: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11448 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 622;  /* *call_value_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31374;

 L7665: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7666;

 L7666: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7667;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31375;

 L7667: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L7668;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31375;

 L7668: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11469 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 626;  /* *sibcall_value_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31375;

 L7758: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7759;

 L7759: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 34)
    goto L7760;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7848;

 L7760: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11527 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !SIBLING_CALL_P (insn))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 12;
      return 630;  /* *call_value_rex64_ms_sysv */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7848;

 L30997: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L7849;
    }
 L31008: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L9810;
    }
 L31009: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L11080;
    }
  goto L8684;

 L7849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31378;
  x2 = XEXP (x1, 0);
  goto L31008;

 L31378: ATTRIBUTE_UNUSED_LABEL
  tem = recog_62 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L31008;

 L9810: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31445;
  x2 = XEXP (x1, 0);
  goto L31009;

 L31445: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31447;
  x2 = XEXP (x1, 0);
  goto L31009;

 L31447: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31449;
  x2 = XEXP (x1, 0);
  goto L31009;

 L31449: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9811;
    case 63L:
      goto L9961;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31009;

 L9811: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9812;
    }
  x2 = XEXP (x1, 0);
  goto L31009;

 L9812: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9813;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31009;

 L9813: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 824;  /* *fistsi2_floor_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31009;

 L9961: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9962;
    }
  x2 = XEXP (x1, 0);
  goto L31009;

 L9962: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9963;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31009;

 L9963: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 835;  /* *fistsi2_ceil_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31009;

 L11080: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31451;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31451: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31453;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31453: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31455;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31455: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 76L:
      goto L11081;
    case 78L:
      goto L11117;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11081: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L11082;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11082: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11083;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11083: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11084;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11084: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 17788 "../../gcc/config/i386/i386.md"
(!TARGET_HAS_BIONIC) && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == SImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 921;  /* stack_protect_set_si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11117: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L11118;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11118: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11119;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11119: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11120;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11120: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == SImode)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 923;  /* stack_tls_protect_set_si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L30998: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L31457;
  goto L8684;

 L31457: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L7933;
 L31458: ATTRIBUTE_UNUSED_LABEL
  if (flags_reg_operand (x2, CCZmode))
    {
      operands[0] = x2;
      goto L11142;
    }
  goto L8684;

 L7933: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == COMPARE)
    goto L7934;
  x2 = XEXP (x1, 0);
  goto L31458;

 L7934: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L31459;
    case DImode:
      goto L31460;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31458;

 L31459: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L7935;
    }
  x2 = XEXP (x1, 0);
  goto L31458;

 L7935: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7936;
  x2 = XEXP (x1, 0);
  goto L31458;

 L7936: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7937;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31458;

 L7937: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L7938;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31458;

 L7938: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == CTZ)
    goto L7939;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31458;

 L7939: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    {
      return 655;  /* *ffssi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31458;

 L31460: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L7945;
    }
  x2 = XEXP (x1, 0);
  goto L31458;

 L7945: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7946;
  x2 = XEXP (x1, 0);
  goto L31458;

 L7946: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7947;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31458;

 L7947: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L7948;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31458;

 L7948: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == CTZ)
    goto L7949;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31458;

 L7949: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 656;  /* *ffsdi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31458;

 L11142: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode)
    goto L31461;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31461: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31463;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31463: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 2)
    goto L31465;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31465: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 77L:
      goto L11143;
    case 79L:
      goto L11173;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11143: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L31467;
    case DImode:
      goto L31468;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31467: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L11144;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11144: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (memory_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L11145;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11145: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L11146;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L11147;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11147: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17836 "../../gcc/config/i386/i386.md"
(!TARGET_HAS_BIONIC) && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == SImode)))
    {
      return 925;  /* stack_protect_test_si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31468: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L11159;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11159: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (memory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L11160;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11160: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L11161;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11161: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L11162;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11162: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17836 "../../gcc/config/i386/i386.md"
(!TARGET_HAS_BIONIC) && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == DImode)))
    {
      return 926;  /* stack_protect_test_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11173: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L31469;
    case DImode:
      goto L31470;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31469: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L11174;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11174: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L11175;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11175: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L11176;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11176: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L11177;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11177: ATTRIBUTE_UNUSED_LABEL
  if (
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == SImode))
    {
      return 927;  /* stack_tls_protect_test_si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31470: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L11189;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11189: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L11190;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L11190: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L11191;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11191: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L11192;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L11192: ATTRIBUTE_UNUSED_LABEL
  if (
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == DImode))
    {
      return 928;  /* stack_tls_protect_test_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L30999: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L7953;
    }
 L31007: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L9798;
    }
  goto L8684;

 L7953: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L31471;
  x2 = XEXP (x1, 0);
  goto L31007;

 L31471: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case CTZ:
      goto L7954;
    case CLZ:
      goto L7990;
    case MINUS:
      goto L8634;
    case POPCOUNT:
      goto L8650;
    case UNSPEC:
      goto L31477;
    case UNSPEC_VOLATILE:
      goto L31478;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L31007;

 L7954: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L7955;
    }
  x2 = XEXP (x1, 0);
  goto L31007;

 L7955: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7956;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L7956: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 657;  /* ctzhi2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L7990: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L7991;
    }
  x2 = XEXP (x1, 0);
  goto L31007;

 L7991: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7992;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L7992: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12070 "../../gcc/config/i386/i386.md"
(TARGET_LZCNT))
    {
      return 660;  /* clzhi2_lzcnt */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L8634: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)])
    goto L8635;
  x2 = XEXP (x1, 0);
  goto L31007;

 L8635: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == CLZ)
    goto L8636;
  x2 = XEXP (x1, 0);
  goto L31007;

 L8636: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L8637;
    }
  x2 = XEXP (x1, 0);
  goto L31007;

 L8637: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8638;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L8638: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 701;  /* *bsrhi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L8650: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L8651;
    }
  x2 = XEXP (x1, 0);
  goto L31007;

 L8651: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8652;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L8652: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12349 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT))
    {
      return 702;  /* popcounthi2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L31477: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 54)
    goto L9761;
  x2 = XEXP (x1, 0);
  goto L31007;

 L9761: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9762;
    }
  x2 = XEXP (x1, 0);
  goto L31007;

 L9762: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9763;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L9763: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9764;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L9764: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14775 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 819;  /* fisthi2_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L31478: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 19)
    goto L11342;
  x2 = XEXP (x1, 0);
  goto L31007;

 L11342: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11343;
  x2 = XEXP (x1, 0);
  goto L31007;

 L11343: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11344;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L11344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L11345;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L11345: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCCmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 19)
    goto L11346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L11346: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 18172 "../../gcc/config/i386/i386.md"
(TARGET_RDRND))
    {
      return 955;  /* rdrandhi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31007;

 L9798: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L31479;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31479: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31481;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31481: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31483;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31483: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9799;
    case 63L:
      goto L9949;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9799: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9800;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9800: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9801;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9801: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 823;  /* *fisthi2_floor_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9949: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9950;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9950: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9951;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9951: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 834;  /* *fisthi2_ceil_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31000: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L7977;
    }
 L31005: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L9709;
    }
 L31006: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L9732;
    }
  goto L8684;

 L7977: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31485;
  x2 = XEXP (x1, 0);
  goto L31005;

 L31485: ATTRIBUTE_UNUSED_LABEL
  tem = recog_63 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L31005;

 L9709: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31548;
  x2 = XEXP (x1, 0);
  goto L31006;

 L31548: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31551;
  x2 = XEXP (x1, 0);
  goto L31006;

 L31551: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31554;
  x2 = XEXP (x1, 0);
  goto L31006;

 L31554: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 54L:
      goto L9710;
    case 76L:
      goto L11099;
    case 78L:
      goto L11135;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31006;

 L9710: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9711;
    }
  x2 = XEXP (x1, 0);
  goto L31006;

 L9711: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9712;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L9712: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[2] = x2;
      goto L9713;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L9713: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14706 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 813;  /* fistdi2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L11099: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L11100;
    }
  x2 = XEXP (x1, 0);
  goto L31006;

 L11100: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11101;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L11101: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L11102;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L11102: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 17788 "../../gcc/config/i386/i386.md"
(!TARGET_HAS_BIONIC) && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == DImode))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 922;  /* stack_protect_set_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L11135: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L11136;
    }
  x2 = XEXP (x1, 0);
  goto L31006;

 L11136: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11137;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L11137: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L11138;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L11138: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == DImode)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 924;  /* stack_tls_protect_set_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31006;

 L9732: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31557;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31557: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31560;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31560: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31563;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31563: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 54L:
      goto L9733;
    case 62L:
      goto L9823;
    case 63L:
      goto L9973;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9733: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9734;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9734: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9735;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9735: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L9736;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9736: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14717 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 814;  /* fistdi2_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9823: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9824;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9824: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9825;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9825: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 825;  /* *fistdi2_floor_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9973: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9974;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9974: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9975;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9975: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
    {
      return 836;  /* *fistdi2_ceil_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31001: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L8808;
  goto L8684;

 L8808: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 26)
    goto L8809;
  x2 = XEXP (x1, 0);
  goto L8684;

 L8809: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L8810;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L8810: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8811;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L8811: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L8812;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L8812: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12568 "../../gcc/config/i386/i386.md"
(! TARGET_POPCNT))
    {
      return 717;  /* *parityhi2_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31002: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L9429;
    }
  goto L8684;

 L9429: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode)
    goto L31566;
 L9460: ATTRIBUTE_UNUSED_LABEL
  if (const_double_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9461;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31566: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31576;
  goto L9460;

 L31576: ATTRIBUTE_UNUSED_LABEL
  tem = recog_64 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L9460;

 L9461: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9462;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9462: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9463;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9463: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 56)
    goto L9464;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9464: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9465;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9465: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13744 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && standard_80387_constant_p (operands[3]) == 2))
    {
      return 792;  /* fptanxf4_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31003: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L9469;
    }
  goto L8684;

 L9469: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_double_operand (x2, SFmode))
    {
      operands[3] = x2;
      goto L9470;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9470: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9471;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9471: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9472;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9472: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 56)
    goto L9473;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9473: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L9474;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9474: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SFmode))
    {
      operands[2] = x4;
      goto L9475;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9475: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13758 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations
   && standard_80387_constant_p (operands[3]) == 2))
    {
      return 793;  /* fptan_extendsfxf4_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31004: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L9479;
    }
  goto L8684;

 L9479: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_double_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L9480;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L9480: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9481;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9481: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9482;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9482: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 56)
    goto L9483;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9483: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L9484;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9484: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DFmode))
    {
      operands[2] = x4;
      goto L9485;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L9485: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13758 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && flag_unsafe_math_optimizations
   && standard_80387_constant_p (operands[3]) == 2))
    {
      return 794;  /* fptan_extenddfxf4_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31011: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SImode))
    {
      operands[0] = x2;
      goto L12263;
    }
  goto L8684;

 L12263: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode)
    goto L31616;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31616: ATTRIBUTE_UNUSED_LABEL
  tem = recog_65 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31012: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SFmode))
    {
      operands[0] = x2;
      goto L12386;
    }
  goto L8684;

 L12386: ATTRIBUTE_UNUSED_LABEL
  tem = recog_66 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31013: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[0] = x2;
      goto L12394;
    }
  goto L8684;

 L12394: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SFmode)
    goto L31653;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31653: ATTRIBUTE_UNUSED_LABEL
  tem = recog_67 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31014: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DFmode))
    {
      operands[0] = x2;
      goto L12402;
    }
  goto L8684;

 L12402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4DFmode)
    goto L31673;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31673: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L21208;
  if (absneg_operator (x2, V4DFmode))
    {
      operands[3] = x2;
      goto L12403;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21208: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4DFmode))
    {
      operands[2] = x3;
      goto L21209;
    }
  if (GET_CODE (x3) == PC)
    goto L21673;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21209: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, DFmode))
    {
      operands[7] = x3;
      goto L21210;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21210: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31674;
    case DImode:
      goto L31675;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31674: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21211;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21211: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L21212;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21212: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31676;
    case V4DImode:
      goto L31677;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31676: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21213;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21213: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21214;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21214: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21215;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21215: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21216;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21216: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DFmode))
    {
      operands[5] = x3;
      goto L21217;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21217: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21218;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21218: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L21219;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21219: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1942;  /* *avx2_gathersiv4df */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31677: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22141;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22141: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22142;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22142: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22143;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22143: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22144;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22144: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DFmode))
    {
      operands[5] = x3;
      goto L22145;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22145: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22146;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L22147;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22147: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1974;  /* *avx2_gatherdiv4df */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31675: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21240;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21240: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L21241;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21241: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31678;
    case V4DImode:
      goto L31679;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31678: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21242;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21242: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21243;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21243: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21244;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21244: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21245;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21245: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DFmode))
    {
      operands[5] = x3;
      goto L21246;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21246: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21247;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21247: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L21248;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21248: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1943;  /* *avx2_gathersiv4df */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31679: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22170;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22170: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22171;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22171: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22172;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22172: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22173;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22173: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DFmode))
    {
      operands[5] = x3;
      goto L22174;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22174: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22175;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22175: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L22176;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22176: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1975;  /* *avx2_gatherdiv4df */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21673: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, DFmode))
    {
      operands[6] = x3;
      goto L21674;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21674: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31680;
    case DImode:
      goto L31681;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31680: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21675;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21675: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L21676;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21676: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31682;
    case V4DImode:
      goto L31683;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31682: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21677;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21677: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21678;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21678: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21679;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21679: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21680;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21680: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DFmode))
    {
      operands[4] = x3;
      goto L21681;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21681: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21682;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21682: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L21683;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21683: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1958;  /* *avx2_gathersiv4df_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31683: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L22605;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22605: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22606;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22606: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22607;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22607: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22608;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22608: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DFmode))
    {
      operands[4] = x3;
      goto L22609;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22609: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22610;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22610: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L22611;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22611: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1990;  /* *avx2_gatherdiv4df_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31681: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21704;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21704: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L21705;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21705: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31684;
    case V4DImode:
      goto L31685;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31684: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21706;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21706: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21707;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21707: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21708;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21708: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21709;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21709: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DFmode))
    {
      operands[4] = x3;
      goto L21710;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21710: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21711;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L21712;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21712: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1959;  /* *avx2_gathersiv4df_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31685: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L22634;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22634: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22635;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22635: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22636;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22636: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22637;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22637: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DFmode))
    {
      operands[4] = x3;
      goto L22638;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22638: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22639;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22639: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L22640;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22640: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1991;  /* *avx2_gatherdiv4df_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L12403: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L12404;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L12404: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L12405;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L12405: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L12406;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L12406: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 733 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)))
    {
      return 1115;  /* *absnegv4df2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31015: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[0] = x2;
      goto L12410;
    }
  goto L8684;

 L12410: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DFmode)
    goto L31687;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31687: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L21092;
  if (absneg_operator (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L12411;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21092: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[2] = x3;
      goto L21093;
    }
  if (GET_CODE (x3) == PC)
    goto L21557;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21093: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, DFmode))
    {
      operands[7] = x3;
      goto L21094;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21094: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31688;
    case DImode:
      goto L31689;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31688: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21095;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21095: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L21096;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21096: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31690;
    case V2DImode:
      goto L31691;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31690: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21097;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21097: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21098;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21098: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21099;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21099: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21100;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21100: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DFmode))
    {
      operands[5] = x3;
      goto L21101;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21101: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21102;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21102: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L21103;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21103: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1938;  /* *avx2_gathersiv2df */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31691: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[4] = x5;
      goto L22025;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22025: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22026;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22026: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22027;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22027: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22028;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22028: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DFmode))
    {
      operands[5] = x3;
      goto L22029;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22029: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22030;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L22031;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22031: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1970;  /* *avx2_gatherdiv2df */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31689: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21124;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21124: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L21125;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21125: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31692;
    case V2DImode:
      goto L31693;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31692: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21126;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21126: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21127;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21127: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21128;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21128: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21129;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21129: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DFmode))
    {
      operands[5] = x3;
      goto L21130;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21130: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21131;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21131: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L21132;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21132: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1939;  /* *avx2_gathersiv2df */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31693: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[4] = x5;
      goto L22054;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22054: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22055;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22055: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22056;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22056: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22057;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22057: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DFmode))
    {
      operands[5] = x3;
      goto L22058;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22058: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22059;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22059: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L22060;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22060: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1971;  /* *avx2_gatherdiv2df */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21557: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, DFmode))
    {
      operands[6] = x3;
      goto L21558;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21558: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31694;
    case DImode:
      goto L31695;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31694: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21559;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21559: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L21560;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21560: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31696;
    case V2DImode:
      goto L31697;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31696: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21561;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21561: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21562;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21562: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21563;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21563: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21564;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21564: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DFmode))
    {
      operands[4] = x3;
      goto L21565;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21565: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21566;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21566: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L21567;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21567: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1954;  /* *avx2_gathersiv2df_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31697: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[3] = x5;
      goto L22489;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22489: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22490;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22490: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22491;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22491: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22492;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22492: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DFmode))
    {
      operands[4] = x3;
      goto L22493;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22493: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22494;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22494: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L22495;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22495: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1986;  /* *avx2_gatherdiv2df_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31695: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21588;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21588: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L21589;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21589: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31698;
    case V2DImode:
      goto L31699;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31698: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21590;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21590: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21591;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21591: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21592;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21592: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21593;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21593: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DFmode))
    {
      operands[4] = x3;
      goto L21594;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21594: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21595;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L21596;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21596: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1955;  /* *avx2_gathersiv2df_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31699: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[3] = x5;
      goto L22518;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22518: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22519;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22519: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22520;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22520: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22521;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22521: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DFmode))
    {
      operands[4] = x3;
      goto L22522;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22522: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22523;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22523: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L22524;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22524: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1987;  /* *avx2_gatherdiv2df_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L12411: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L12412;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L12412: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L12413;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L12413: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L12414;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L12414: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 733 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)))
    {
      return 1116;  /* *absnegv2df2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31016: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V16QImode))
    {
      operands[0] = x2;
      goto L19000;
    }
  goto L8684;

 L19000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode)
    goto L31700;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31700: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      goto L31703;
    case VEC_CONCAT:
      goto L19874;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31703: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 5:
      goto L31705;
    case 3:
      goto L31706;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31705: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 109)
    goto L19001;
  x2 = XEXP (x1, 0);
  goto L8684;

 L19001: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L19002;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19002: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L19003;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19003: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[3] = x3;
      goto L19004;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19004: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L19005;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19005: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[5] = x3;
      goto L19006;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19006: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L19007;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19007: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L19008;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19008: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 5
      && XINT (x2, 1) == 109)
    goto L19009;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19009: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L19010;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19010: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L19011;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19011: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[3]))
    goto L19012;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19012: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (rtx_equal_p (x3, operands[4]))
    goto L19013;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19013: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (rtx_equal_p (x3, operands[5])
      && 
#line 10164 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2))
    {
      return 1730;  /* sse4_2_pcmpestrm */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31706: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 110)
    goto L19073;
  x2 = XEXP (x1, 0);
  goto L8684;

 L19073: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[1] = x3;
      goto L19074;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19074: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L19075;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19075: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L19076;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19076: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L19077;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19077: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L19078;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19078: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 3
      && XINT (x2, 1) == 110)
    goto L19079;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19079: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L19080;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19080: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[2]))
    goto L19081;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19081: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 10286 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2))
    {
      return 1734;  /* sse4_2_pcmpistrm */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19874: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V8QImode
      && GET_CODE (x3) == TRUNCATE)
    goto L19875;
  x2 = XEXP (x1, 0);
  goto L8684;

 L19875: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V8HImode))
    {
      operands[1] = x4;
      goto L19876;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19876: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V8QImode
      && GET_CODE (x3) == TRUNCATE)
    goto L19877;
  x2 = XEXP (x1, 0);
  goto L8684;

 L19877: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V8HImode))
    {
      operands[2] = x4;
      goto L19878;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19878: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L19879;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19879: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L19880;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19880: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11082 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 1778;  /* xop_pperm_pack_v8hi_v16qi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31017: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8HImode))
    {
      operands[0] = x2;
      goto L19862;
    }
  goto L8684;

 L19862: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8HImode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L19863;
  x2 = XEXP (x1, 0);
  goto L8684;

 L19863: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == TRUNCATE)
    goto L19864;
  x2 = XEXP (x1, 0);
  goto L8684;

 L19864: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, V4SImode))
    {
      operands[1] = x4;
      goto L19865;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19865: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == V4HImode
      && GET_CODE (x3) == TRUNCATE)
    goto L19866;
  x2 = XEXP (x1, 0);
  goto L8684;

 L19866: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, V4SImode))
    {
      operands[2] = x4;
      goto L19867;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L19867: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L19868;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19868: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16QImode))
    {
      operands[3] = x2;
      goto L19869;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L19869: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11069 "../../gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
    {
      return 1777;  /* xop_pperm_pack_v4si_v8hi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31018: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DImode))
    {
      operands[0] = x2;
      goto L21033;
    }
  goto L8684;

 L21033: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V2DImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L21034;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21034: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V2DImode))
    {
      operands[2] = x3;
      goto L21035;
    }
  if (GET_CODE (x3) == PC)
    goto L21499;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21035: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, DImode))
    {
      operands[7] = x3;
      goto L21036;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21036: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31707;
    case DImode:
      goto L31708;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31707: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21037;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21037: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L21038;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21038: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31709;
    case V2DImode:
      goto L31710;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31709: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21039;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21039: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21040;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21040: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21041;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21041: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21042;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21042: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DImode))
    {
      operands[5] = x3;
      goto L21043;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21043: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21044;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21044: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L21045;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21045: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1936;  /* *avx2_gathersiv2di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31710: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[4] = x5;
      goto L21967;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21967: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21968;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21968: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21969;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21969: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21970;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21970: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DImode))
    {
      operands[5] = x3;
      goto L21971;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21971: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21972;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21972: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L21973;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21973: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1968;  /* *avx2_gatherdiv2di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31708: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21066;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21066: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L21067;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21067: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31711;
    case V2DImode:
      goto L31712;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31711: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21068;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21068: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21069;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21069: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21070;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21070: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21071;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21071: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DImode))
    {
      operands[5] = x3;
      goto L21072;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21072: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21073;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21073: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L21074;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21074: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1937;  /* *avx2_gathersiv2di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31712: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[4] = x5;
      goto L21996;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21996: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21997;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21997: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21998;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21998: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21999;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21999: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DImode))
    {
      operands[5] = x3;
      goto L22000;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22000: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22001;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L22002;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22002: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1969;  /* *avx2_gatherdiv2di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21499: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, DImode))
    {
      operands[6] = x3;
      goto L21500;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21500: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31713;
    case DImode:
      goto L31714;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31713: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21501;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21501: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L21502;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21502: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31715;
    case V2DImode:
      goto L31716;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31715: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21503;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21503: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21504;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21504: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21505;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21505: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21506;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21506: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DImode))
    {
      operands[4] = x3;
      goto L21507;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21507: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21508;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21508: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L21509;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21509: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1952;  /* *avx2_gathersiv2di_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31716: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[3] = x5;
      goto L22431;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22431: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22432;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22432: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22433;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22433: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22434;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22434: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DImode))
    {
      operands[4] = x3;
      goto L22435;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22435: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22436;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22436: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L22437;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22437: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1984;  /* *avx2_gatherdiv2di_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31714: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21530;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21530: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L21531;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21531: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31717;
    case V2DImode:
      goto L31718;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31717: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21532;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21532: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21533;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21533: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21534;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21534: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21535;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21535: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DImode))
    {
      operands[4] = x3;
      goto L21536;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21536: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21537;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21537: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L21538;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21538: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1953;  /* *avx2_gathersiv2di_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31718: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V2DImode))
    {
      operands[3] = x5;
      goto L22460;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22460: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22461;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22461: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22462;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22462: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22463;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22463: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V2DImode))
    {
      operands[4] = x3;
      goto L22464;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22464: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22465;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22465: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L22466;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22466: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1985;  /* *avx2_gatherdiv2di_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31019: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DImode))
    {
      operands[0] = x2;
      goto L21149;
    }
  goto L8684;

 L21149: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4DImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L21150;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21150: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V4DImode))
    {
      operands[2] = x3;
      goto L21151;
    }
  if (GET_CODE (x3) == PC)
    goto L21615;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21151: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, DImode))
    {
      operands[7] = x3;
      goto L21152;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21152: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31719;
    case DImode:
      goto L31720;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31719: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21153;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21153: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L21154;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21154: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31721;
    case V4DImode:
      goto L31722;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31721: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21155;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21155: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21156;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21156: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21157;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21157: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21158;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21158: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DImode))
    {
      operands[5] = x3;
      goto L21159;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21159: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21160;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21160: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L21161;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21161: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1940;  /* *avx2_gathersiv4di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31722: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22083;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22083: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22084;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22084: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22085;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22085: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22086;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22086: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DImode))
    {
      operands[5] = x3;
      goto L22087;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22087: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22088;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22088: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L22089;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22089: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1972;  /* *avx2_gatherdiv4di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31720: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21182;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21182: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L21183;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21183: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31723;
    case V4DImode:
      goto L31724;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31723: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[4] = x5;
      goto L21184;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21184: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21185;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21185: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21186;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21186: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21187;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21187: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DImode))
    {
      operands[5] = x3;
      goto L21188;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21188: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21189;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21189: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L21190;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21190: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1941;  /* *avx2_gathersiv4di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31724: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22112;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22112: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22113;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22113: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22114;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22114: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22115;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22115: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DImode))
    {
      operands[5] = x3;
      goto L22116;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22116: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22117;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22117: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L22118;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22118: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1973;  /* *avx2_gatherdiv4di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21615: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, DImode))
    {
      operands[6] = x3;
      goto L21616;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21616: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31725;
    case DImode:
      goto L31726;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31725: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21617;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21617: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L21618;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21618: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31727;
    case V4DImode:
      goto L31728;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31727: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21619;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21619: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21620;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21620: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21621;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21621: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21622;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21622: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DImode))
    {
      operands[4] = x3;
      goto L21623;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21623: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21624;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21624: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L21625;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21625: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1956;  /* *avx2_gathersiv4di_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31728: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L22547;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22547: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22548;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22548: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22549;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22549: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22550;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22550: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DImode))
    {
      operands[4] = x3;
      goto L22551;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22551: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22552;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22552: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L22553;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22553: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1988;  /* *avx2_gatherdiv4di_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31726: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21646;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21646: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L21647;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21647: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V4SImode:
      goto L31729;
    case V4DImode:
      goto L31730;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31729: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4SImode))
    {
      operands[3] = x5;
      goto L21648;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21648: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21649;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21649: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21650;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21650: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21651;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21651: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DImode))
    {
      operands[4] = x3;
      goto L21652;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21652: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21653;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L21654;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21654: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1957;  /* *avx2_gathersiv4di_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31730: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L22576;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22576: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22577;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22577: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22578;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22578: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22579;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22579: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4DImode))
    {
      operands[4] = x3;
      goto L22580;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22580: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22581;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L22582;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22582: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1989;  /* *avx2_gatherdiv4di_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31020: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SImode))
    {
      operands[0] = x2;
      goto L21381;
    }
  goto L8684;

 L21381: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V8SImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 135)
    goto L21382;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21382: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  switch (GET_MODE (x3))
    {
    case V8SImode:
      goto L31731;
    case V4SImode:
      goto L31732;
    default:
      break;
    }
 L21846: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == PC)
    goto L21847;
  x2 = XEXP (x1, 0);
  goto L8684;

 L31731: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V8SImode))
    {
      operands[2] = x3;
      goto L21383;
    }
  goto L21846;

 L21383: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SImode))
    {
      operands[7] = x3;
      goto L21384;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21384: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31733;
    case DImode:
      goto L31734;
    default:
      break;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L31733: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21385;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21385: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L21386;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21386: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V8SImode))
    {
      operands[4] = x5;
      goto L21387;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21387: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21388;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21388: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21389;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21389: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21390;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21390: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V8SImode))
    {
      operands[5] = x3;
      goto L21391;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21391: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21392;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21392: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L21393;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21393: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1948;  /* *avx2_gathersiv8si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L31734: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21414;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21414: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L21415;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21415: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V8SImode))
    {
      operands[4] = x5;
      goto L21416;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21416: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L21417;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21417: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21418;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21418: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21419;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21419: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V8SImode))
    {
      operands[5] = x3;
      goto L21420;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21420: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21421;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21421: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L21422;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21422: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12596 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1949;  /* *avx2_gathersiv8si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L31732: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, V4SImode))
    {
      operands[2] = x3;
      goto L22311;
    }
  goto L21846;

 L22311: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SImode))
    {
      operands[7] = x3;
      goto L22312;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22312: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31735;
    case DImode:
      goto L31736;
    default:
      break;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L31735: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L22313;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22313: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L22314;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22314: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22315;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22315: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22316;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22316: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22317;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22317: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22318;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22318: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[5] = x3;
      goto L22319;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22319: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22320;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22320: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L22321;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22321: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1980;  /* *avx2_gatherdiv8si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L31736: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L22342;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22342: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[3] = x5;
      goto L22343;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22343: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  if (register_operand (x5, V4DImode))
    {
      operands[4] = x5;
      goto L22344;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22344: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[6] = x5;
      goto L22345;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22345: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22346;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22346: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22347;
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22347: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[5] = x3;
      goto L22348;
    }
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22348: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22349;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22349: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L22350;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L22350: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12658 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1981;  /* *avx2_gatherdiv8si */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  goto L21846;

 L21847: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (vsib_mem_operator (x3, SImode))
    {
      operands[6] = x3;
      goto L21848;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21848: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L31737;
    case DImode:
      goto L31738;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31737: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21849;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21849: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L21850;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21850: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V8SImode:
      goto L31739;
    case V4DImode:
      goto L31740;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31739: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V8SImode))
    {
      operands[3] = x5;
      goto L21851;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21851: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21852;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21852: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21853;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21853: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21854;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21854: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V8SImode))
    {
      operands[4] = x3;
      goto L21855;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21855: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21856;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21856: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L21857;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21857: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1964;  /* *avx2_gathersiv8si_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31740: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L22779;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22779: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22780;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22780: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22781;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22781: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22782;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22782: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[4] = x3;
      goto L22783;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22783: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22784;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22784: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L22785;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22785: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 1996;  /* *avx2_gatherdiv8si_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31738: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 3
      && XINT (x4, 1) == 136)
    goto L21878;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21878: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (vsib_address_operand (x5, DImode))
    {
      operands[2] = x5;
      goto L21879;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21879: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 1);
  switch (GET_MODE (x5))
    {
    case V8SImode:
      goto L31741;
    case V4DImode:
      goto L31742;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L31741: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V8SImode))
    {
      operands[3] = x5;
      goto L21880;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21880: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L21881;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21881: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L21882;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21882: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L21883;
  x2 = XEXP (x1, 0);
  goto L8684;

 L21883: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V8SImode))
    {
      operands[4] = x3;
      goto L21884;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L21884: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L21885;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21885: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L21886;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L21886: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12616 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1965;  /* *avx2_gathersiv8si_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31742: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, V4DImode))
    {
      operands[3] = x5;
      goto L22808;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22808: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 2);
  if (const1248_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L22809;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22809: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L22810;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22810: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == SCRATCH)
    goto L22811;
  x2 = XEXP (x1, 0);
  goto L8684;

 L22811: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, V4SImode))
    {
      operands[4] = x3;
      goto L22812;
    }
  x2 = XEXP (x1, 0);
  goto L8684;

 L22812: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L22813;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22813: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L22814;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L22814: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12678 "../../gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 1997;  /* *avx2_gatherdiv8si_2 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L8684;

 L31021: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L8685;
  goto L23220;

 L8685: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L8686;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8686: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L31743;
    case SImode:
      goto L31744;
    case DImode:
      goto L31745;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L23220;

 L31743: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == POPCOUNT)
    goto L8687;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8687: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L8688;
    }
  x2 = XEXP (x1, 0);
  goto L23220;

 L8688: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8689;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8689: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L8690;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8690: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L8691;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8691: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == POPCOUNT)
    goto L8692;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8692: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 12369 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)))
    {
      return 705;  /* *popcounthi2_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L31744: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == POPCOUNT)
    goto L8698;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8698: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8699;
    }
  x2 = XEXP (x1, 0);
  goto L23220;

 L8699: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8700;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8700: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L8701;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8701: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31746;
    case DImode:
      goto L31747;
    default:
      break;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L31746: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L8702;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8702: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == POPCOUNT)
    goto L8703;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8703: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 12369 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)))
    {
      return 706;  /* *popcountsi2_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L31747: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L8724;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8724: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L8725;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == POPCOUNT)
    goto L8726;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8726: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1])
      && 
#line 12388 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)))
    {
      return 708;  /* *popcountsi2_cmp_zext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L31745: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == POPCOUNT)
    goto L8709;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8709: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L8710;
    }
  x2 = XEXP (x1, 0);
  goto L23220;

 L8710: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L8711;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8711: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L8712;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8712: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L8713;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8713: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == POPCOUNT)
    goto L8714;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8714: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && (
#line 12369 "../../gcc/config/i386/i386.md"
(TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 707;  /* *popcountdi2_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8750: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[0] = x3;
      goto L8751;
    }
  goto L23220;

 L8751: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == BSWAP)
    goto L8752;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8752: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L8753;
  x2 = XEXP (x1, 0);
  goto L23220;

 L8753: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8754;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L8754: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L31748;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L31748: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L31750;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L31750: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L31752;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23220;

 L31752: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12445 "../../gcc/config/i386/i386.md"
(TARGET_USE_XCHGB || optimize_function_for_size_p (cfun)))
    {
      return 713;  /* *bswaphi_lowpart_1 */
    }
 L31753: ATTRIBUTE_UNUSED_LABEL
  return 714;  /* bswaphi_lowpart */

 L23221: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 139)
    goto L23222;
  x2 = XEXP (x1, 0);
  goto L23241;

 L23222: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23223;
  x2 = XEXP (x1, 0);
  goto L23241;

 L23223: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23224;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23241;

 L23224: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 97 "../../gcc/config/i386/sync.md"
(!(TARGET_64BIT || TARGET_SSE2)))
    {
      return 2011;  /* mfence_nosse */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L23241;

 L31022: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L23242;
    }
 L31023: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L23281;
    }
 L31027: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L23537;
    }
  goto ret0;

 L23242: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 140)
    goto L23243;
  x2 = XEXP (x1, 0);
  goto L31023;

 L23243: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23244;
    }
  x2 = XEXP (x1, 0);
  goto L31023;

 L23244: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23245;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31023;

 L23245: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L23246;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31023;

 L23246: ATTRIBUTE_UNUSED_LABEL
  if (
#line 164 "../../gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2012;  /* atomic_loaddi_fpu */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31023;

 L23281: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31754;
  x2 = XEXP (x1, 0);
  goto L31027;

 L31754: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      goto L31756;
    case UNSPEC_VOLATILE:
      goto L31757;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L31027;

 L31756: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 140)
    goto L23282;
  x2 = XEXP (x1, 0);
  goto L31027;

 L23282: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23283;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23283: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23284;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23284: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L23285;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23285: ATTRIBUTE_UNUSED_LABEL
  if (
#line 250 "../../gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2017;  /* atomic_storedi_fpu */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L31757: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 32)
    goto L23697;
  x2 = XEXP (x1, 0);
  goto L31027;

 L23697: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == DImode)
    goto L31758;
  x2 = XEXP (x1, 0);
  goto L31027;

 L31758: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L23698;
    case MINUS:
      goto L23770;
    case AND:
      goto L23950;
    case IOR:
      goto L23968;
    case XOR:
      goto L23986;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23698: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23699;
  x2 = XEXP (x1, 0);
  goto L31027;

 L23699: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L23700;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23700: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23701;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23701: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23702;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23702: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 2041;  /* atomic_adddi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23770: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23771;
  x2 = XEXP (x1, 0);
  goto L31027;

 L23771: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L23772;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23772: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23773;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23773: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23774;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 2045;  /* atomic_subdi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23950: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23951;
  x2 = XEXP (x1, 0);
  goto L31027;

 L23951: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L23952;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23952: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23953;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23953: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23954;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23954: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 2055;  /* atomic_anddi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23968: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23969;
  x2 = XEXP (x1, 0);
  goto L31027;

 L23969: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L23970;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23970: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23971;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23971: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23972;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23972: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 2056;  /* atomic_ordi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23986: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23987;
  x2 = XEXP (x1, 0);
  goto L31027;

 L23987: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L23988;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23988: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23989;
    }
  x2 = XEXP (x1, 0);
  goto L31027;

 L23989: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23990;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23990: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 2057;  /* atomic_xordi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31027;

 L23537: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 31)
    goto L23538;
  goto ret0;

 L23538: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23539;
    }
  goto ret0;

 L23539: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23540;
    }
  goto ret0;

 L23540: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23541;
  goto ret0;

 L23541: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23542;
  goto ret0;

 L23542: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31763;
  goto ret0;

 L31763: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PLUS)
    goto L23543;
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L23638;
    }
  goto ret0;

 L23543: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L23544;
  goto ret0;

 L23544: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L23545;
    }
  goto ret0;

 L23545: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 452 "../../gcc/config/i386/sync.md"
(TARGET_XADD) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2029;  /* atomic_fetch_adddi */
    }
  goto ret0;

 L23638: ATTRIBUTE_UNUSED_LABEL
  if (
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 2037;  /* atomic_exchangedi */
    }
  goto ret0;

 L31024: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L23462;
    }
 L31029: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L23642;
    }
  goto ret0;

 L23462: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 31)
    goto L23463;
  x2 = XEXP (x1, 0);
  goto L31029;

 L23463: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23464;
    }
  x2 = XEXP (x1, 0);
  goto L31029;

 L23464: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23465;
    }
  x2 = XEXP (x1, 0);
  goto L31029;

 L23465: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23466;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31029;

 L23466: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23467;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31029;

 L23467: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode)
    goto L31765;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31029;

 L31765: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PLUS)
    goto L23468;
  if (register_operand (x2, QImode))
    {
      operands[2] = x2;
      return 2034;  /* atomic_exchangeqi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31029;

 L23468: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L23469;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31029;

 L23469: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L23470;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31029;

 L23470: ATTRIBUTE_UNUSED_LABEL
  if (
#line 452 "../../gcc/config/i386/sync.md"
(TARGET_XADD)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2026;  /* atomic_fetch_addqi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31029;

 L23642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 32)
    goto L23643;
  goto ret0;

 L23643: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == QImode)
    goto L31767;
  goto ret0;

 L31767: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L23644;
    case MINUS:
      goto L23716;
    case AND:
      goto L23788;
    case IOR:
      goto L23806;
    case XOR:
      goto L23824;
    default:
     break;
   }
  goto ret0;

 L23644: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23645;
  goto ret0;

 L23645: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L23646;
    }
  goto ret0;

 L23646: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23647;
    }
  goto ret0;

 L23647: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23648;
  goto ret0;

 L23648: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2038;  /* atomic_addqi */
    }
  goto ret0;

 L23716: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23717;
  goto ret0;

 L23717: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L23718;
    }
  goto ret0;

 L23718: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23719;
    }
  goto ret0;

 L23719: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23720;
  goto ret0;

 L23720: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2042;  /* atomic_subqi */
    }
  goto ret0;

 L23788: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23789;
  goto ret0;

 L23789: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L23790;
    }
  goto ret0;

 L23790: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23791;
    }
  goto ret0;

 L23791: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23792;
  goto ret0;

 L23792: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2046;  /* atomic_andqi */
    }
  goto ret0;

 L23806: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23807;
  goto ret0;

 L23807: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L23808;
    }
  goto ret0;

 L23808: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23809;
    }
  goto ret0;

 L23809: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23810;
  goto ret0;

 L23810: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2047;  /* atomic_orqi */
    }
  goto ret0;

 L23824: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23825;
  goto ret0;

 L23825: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L23826;
    }
  goto ret0;

 L23826: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23827;
    }
  goto ret0;

 L23827: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23828;
  goto ret0;

 L23828: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2048;  /* atomic_xorqi */
    }
  goto ret0;

 L31025: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L23487;
    }
 L31030: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L23660;
    }
  goto ret0;

 L23487: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 31)
    goto L23488;
  x2 = XEXP (x1, 0);
  goto L31030;

 L23488: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23489;
    }
  x2 = XEXP (x1, 0);
  goto L31030;

 L23489: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23490;
    }
  x2 = XEXP (x1, 0);
  goto L31030;

 L23490: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23491;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31030;

 L23491: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23492;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31030;

 L23492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L31772;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31030;

 L31772: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PLUS)
    goto L23493;
  if (register_operand (x2, HImode))
    {
      operands[2] = x2;
      return 2035;  /* atomic_exchangehi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31030;

 L23493: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L23494;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31030;

 L23494: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L23495;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31030;

 L23495: ATTRIBUTE_UNUSED_LABEL
  if (
#line 452 "../../gcc/config/i386/sync.md"
(TARGET_XADD)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2027;  /* atomic_fetch_addhi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31030;

 L23660: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 32)
    goto L23661;
  goto ret0;

 L23661: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == HImode)
    goto L31774;
  goto ret0;

 L31774: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L23662;
    case MINUS:
      goto L23734;
    case AND:
      goto L23842;
    case IOR:
      goto L23860;
    case XOR:
      goto L23878;
    default:
     break;
   }
  goto ret0;

 L23662: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23663;
  goto ret0;

 L23663: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L23664;
    }
  goto ret0;

 L23664: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23665;
    }
  goto ret0;

 L23665: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23666;
  goto ret0;

 L23666: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2039;  /* atomic_addhi */
    }
  goto ret0;

 L23734: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23735;
  goto ret0;

 L23735: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L23736;
    }
  goto ret0;

 L23736: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23737;
    }
  goto ret0;

 L23737: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23738;
  goto ret0;

 L23738: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2043;  /* atomic_subhi */
    }
  goto ret0;

 L23842: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23843;
  goto ret0;

 L23843: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L23844;
    }
  goto ret0;

 L23844: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23845;
    }
  goto ret0;

 L23845: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23846;
  goto ret0;

 L23846: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2049;  /* atomic_andhi */
    }
  goto ret0;

 L23860: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23861;
  goto ret0;

 L23861: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L23862;
    }
  goto ret0;

 L23862: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23863;
    }
  goto ret0;

 L23863: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23864;
  goto ret0;

 L23864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2050;  /* atomic_orhi */
    }
  goto ret0;

 L23878: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23879;
  goto ret0;

 L23879: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L23880;
    }
  goto ret0;

 L23880: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23881;
    }
  goto ret0;

 L23881: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23882;
  goto ret0;

 L23882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2051;  /* atomic_xorhi */
    }
  goto ret0;

 L31026: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L23512;
    }
 L31031: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L23678;
    }
  goto ret0;

 L23512: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 31)
    goto L23513;
  x2 = XEXP (x1, 0);
  goto L31031;

 L23513: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23514;
    }
  x2 = XEXP (x1, 0);
  goto L31031;

 L23514: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23515;
    }
  x2 = XEXP (x1, 0);
  goto L31031;

 L23515: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23516;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31031;

 L23516: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23517;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31031;

 L23517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31779;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31031;

 L31779: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PLUS)
    goto L23518;
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      return 2036;  /* atomic_exchangesi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31031;

 L23518: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L23519;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31031;

 L23519: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23520;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31031;

 L23520: ATTRIBUTE_UNUSED_LABEL
  if (
#line 452 "../../gcc/config/i386/sync.md"
(TARGET_XADD)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2028;  /* atomic_fetch_addsi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31031;

 L23678: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 32)
    goto L23679;
  goto ret0;

 L23679: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == SImode)
    goto L31781;
  goto ret0;

 L31781: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L23680;
    case MINUS:
      goto L23752;
    case AND:
      goto L23896;
    case IOR:
      goto L23914;
    case XOR:
      goto L23932;
    default:
     break;
   }
  goto ret0;

 L23680: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23681;
  goto ret0;

 L23681: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L23682;
    }
  goto ret0;

 L23682: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23683;
    }
  goto ret0;

 L23683: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23684;
  goto ret0;

 L23684: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2040;  /* atomic_addsi */
    }
  goto ret0;

 L23752: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23753;
  goto ret0;

 L23753: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L23754;
    }
  goto ret0;

 L23754: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23755;
    }
  goto ret0;

 L23755: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23756;
  goto ret0;

 L23756: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2044;  /* atomic_subsi */
    }
  goto ret0;

 L23896: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23897;
  goto ret0;

 L23897: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L23898;
    }
  goto ret0;

 L23898: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23899;
    }
  goto ret0;

 L23899: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23900;
  goto ret0;

 L23900: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2052;  /* atomic_andsi */
    }
  goto ret0;

 L23914: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23915;
  goto ret0;

 L23915: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L23916;
    }
  goto ret0;

 L23916: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23917;
    }
  goto ret0;

 L23917: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23918;
  goto ret0;

 L23918: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2053;  /* atomic_orsi */
    }
  goto ret0;

 L23932: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L23933;
  goto ret0;

 L23933: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L23934;
    }
  goto ret0;

 L23934: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23935;
    }
  goto ret0;

 L23935: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23936;
  goto ret0;

 L23936: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 2054;  /* atomic_xorsi */
    }
  goto ret0;

 L31028: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23549;
  goto ret0;

 L23549: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == COMPARE)
    goto L23550;
  goto ret0;

 L23550: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case QImode:
      goto L31786;
    case HImode:
      goto L31787;
    case SImode:
      goto L31788;
    case DImode:
      goto L31789;
    default:
      break;
    }
  goto ret0;

 L31786: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC_VOLATILE
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 31)
    goto L23551;
  goto ret0;

 L23551: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (memory_operand (x4, QImode))
    {
      operands[0] = x4;
      goto L23552;
    }
  goto ret0;

 L23552: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L23553;
    }
  goto ret0;

 L23553: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L23554;
    }
  goto ret0;

 L23554: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23555;
  goto ret0;

 L23555: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L23556;
  goto ret0;

 L23556: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == PLUS)
    goto L23557;
  goto ret0;

 L23557: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23558;
  goto ret0;

 L23558: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23559;
    }
  goto ret0;

 L23559: ATTRIBUTE_UNUSED_LABEL
  if (
#line 496 "../../gcc/config/i386/sync.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[1])
   == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
    {
      return 2030;  /* *atomic_fetch_add_cmpqi */
    }
  goto ret0;

 L31787: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC_VOLATILE
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 31)
    goto L23565;
  goto ret0;

 L23565: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (memory_operand (x4, HImode))
    {
      operands[0] = x4;
      goto L23566;
    }
  goto ret0;

 L23566: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L23567;
    }
  goto ret0;

 L23567: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L23568;
    }
  goto ret0;

 L23568: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23569;
  goto ret0;

 L23569: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L23570;
  goto ret0;

 L23570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == PLUS)
    goto L23571;
  goto ret0;

 L23571: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23572;
  goto ret0;

 L23572: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23573;
    }
  goto ret0;

 L23573: ATTRIBUTE_UNUSED_LABEL
  if (
#line 496 "../../gcc/config/i386/sync.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[1])
   == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
    {
      return 2031;  /* *atomic_fetch_add_cmphi */
    }
  goto ret0;

 L31788: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC_VOLATILE
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 31)
    goto L23579;
  goto ret0;

 L23579: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (memory_operand (x4, SImode))
    {
      operands[0] = x4;
      goto L23580;
    }
  goto ret0;

 L23580: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L23581;
    }
  goto ret0;

 L23581: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23582;
    }
  goto ret0;

 L23582: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23583;
  goto ret0;

 L23583: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L23584;
  goto ret0;

 L23584: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L23585;
  goto ret0;

 L23585: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23586;
  goto ret0;

 L23586: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23587;
    }
  goto ret0;

 L23587: ATTRIBUTE_UNUSED_LABEL
  if (
#line 496 "../../gcc/config/i386/sync.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[1])
   == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
    {
      return 2032;  /* *atomic_fetch_add_cmpsi */
    }
  goto ret0;

 L31789: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == UNSPEC_VOLATILE
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 31)
    goto L23593;
  goto ret0;

 L23593: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (memory_operand (x4, DImode))
    {
      operands[0] = x4;
      goto L23594;
    }
  goto ret0;

 L23594: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L23595;
    }
  goto ret0;

 L23595: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L23596;
    }
  goto ret0;

 L23596: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23597;
  goto ret0;

 L23597: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L23598;
  goto ret0;

 L23598: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L23599;
  goto ret0;

 L23599: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L23600;
  goto ret0;

 L23600: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23601;
    }
  goto ret0;

 L23601: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 496 "../../gcc/config/i386/sync.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[1])
   == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 2033;  /* *atomic_fetch_add_cmpdi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_69 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L824;
    }
 L31804: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L1186;
    }
 L31810: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L3095;
    }
  goto ret0;

 L824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31831;
  x2 = XEXP (x1, 0);
  goto L31804;

 L31831: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SIGN_EXTEND:
      goto L825;
    case FIX:
      goto L1121;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L31804;

 L825: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L826;
    }
  x2 = XEXP (x1, 0);
  goto L31804;

 L826: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L827;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L827: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L828;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L828: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L829;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L829: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L830;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L830: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3658 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 127;  /* extendsidi2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L1121: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1122;
    }
  x2 = XEXP (x1, 0);
  goto L31804;

 L1122: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1123;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L1123: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1124;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L1124: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1125;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L1125: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L1126;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L1126: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4512 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	&& (TARGET_64BIT || DImode != DImode))
	&& TARGET_SSE_MATH)))
    {
      return 166;  /* fix_truncdi_i387_fisttp_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31804;

 L1186: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == FIX)
    goto L1187;
  x2 = XEXP (x1, 0);
  goto L31810;

 L1187: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1188;
    }
  x2 = XEXP (x1, 0);
  goto L31810;

 L1188: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1189;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31810;

 L1189: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1190;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31810;

 L1190: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L1191;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31810;

 L1191: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L1192;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31810;

 L1192: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4584 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 170;  /* fix_truncdi_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31810;

 L3095: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31833;
  goto ret0;

 L31833: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case TRUNCATE:
      goto L3096;
    case ZERO_EXTEND:
      goto L3196;
    case DIV:
      goto L3293;
    case UDIV:
      goto L3545;
    case ROTATE:
      goto L6655;
    case ROTATERT:
      goto L6689;
    default:
     break;
   }
  goto ret0;

 L3096: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == TImode
      && GET_CODE (x3) == LSHIFTRT)
    goto L3097;
  goto ret0;

 L3097: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == TImode
      && GET_CODE (x4) == MULT)
    goto L3098;
  goto ret0;

 L3098: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == TImode)
    goto L31839;
  goto ret0;

 L31839: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x5))
    {
    case SIGN_EXTEND:
      goto L3099;
    case ZERO_EXTEND:
      goto L3124;
    default:
     break;
   }
  goto ret0;

 L3099: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, DImode))
    {
      operands[1] = x6;
      goto L3100;
    }
  goto ret0;

 L3100: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == TImode
      && GET_CODE (x5) == SIGN_EXTEND)
    goto L3101;
  goto ret0;

 L3101: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, DImode))
    {
      operands[2] = x6;
      goto L3102;
    }
  goto ret0;

 L3102: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (64)])
    goto L3103;
  goto ret0;

 L3103: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3104;
  goto ret0;

 L3104: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L3105;
    }
  goto ret0;

 L3105: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L3106;
  goto ret0;

 L3106: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6938 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 332;  /* *smuldi3_highpart_1 */
    }
  goto ret0;

 L3124: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, DImode))
    {
      operands[1] = x6;
      goto L3125;
    }
  goto ret0;

 L3125: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == TImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L3126;
  goto ret0;

 L3126: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, DImode))
    {
      operands[2] = x6;
      goto L3127;
    }
  goto ret0;

 L3127: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (64)])
    goto L3128;
  goto ret0;

 L3128: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3129;
  goto ret0;

 L3129: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L3130;
    }
  goto ret0;

 L3130: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L3131;
  goto ret0;

 L3131: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6938 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 333;  /* *umuldi3_highpart_1 */
    }
  goto ret0;

 L3196: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == TRUNCATE)
    goto L3197;
  goto ret0;

 L3197: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == LSHIFTRT)
    goto L3198;
  goto ret0;

 L3198: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode
      && GET_CODE (x5) == MULT)
    goto L3199;
  goto ret0;

 L3199: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) == DImode)
    goto L31841;
  goto ret0;

 L31841: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x6))
    {
    case SIGN_EXTEND:
      goto L3200;
    case ZERO_EXTEND:
      goto L3227;
    default:
     break;
   }
  goto ret0;

 L3200: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, SImode))
    {
      operands[1] = x7;
      goto L3201;
    }
  goto ret0;

 L3201: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == DImode
      && GET_CODE (x6) == SIGN_EXTEND)
    goto L3202;
  goto ret0;

 L3202: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, SImode))
    {
      operands[2] = x7;
      goto L3203;
    }
  goto ret0;

 L3203: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L3204;
  goto ret0;

 L3204: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3205;
  goto ret0;

 L3205: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L3206;
    }
  goto ret0;

 L3206: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L3207;
  goto ret0;

 L3207: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6986 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 336;  /* *smulsi3_highpart_zext */
    }
  goto ret0;

 L3227: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, SImode))
    {
      operands[1] = x7;
      goto L3228;
    }
  goto ret0;

 L3228: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == DImode
      && GET_CODE (x6) == ZERO_EXTEND)
    goto L3229;
  goto ret0;

 L3229: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (nonimmediate_operand (x7, SImode))
    {
      operands[2] = x7;
      goto L3230;
    }
  goto ret0;

 L3230: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L3231;
  goto ret0;

 L3231: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3232;
  goto ret0;

 L3232: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L3233;
    }
  goto ret0;

 L3233: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L3234;
  goto ret0;

 L3234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6986 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 337;  /* *umulsi3_highpart_zext */
    }
  goto ret0;

 L3293: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3294;
    }
  goto ret0;

 L3294: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L3295;
    }
  goto ret0;

 L3295: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3296;
  goto ret0;

 L3296: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L3297;
    }
  goto ret0;

 L3297: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MOD)
    goto L3298;
  goto ret0;

 L3298: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3299;
  goto ret0;

 L3299: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3300;
  goto ret0;

 L3300: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L31843;
    case CLOBBER:
      goto L3362;
    case USE:
      goto L3459;
    default:
     break;
   }
  goto ret0;

 L31843: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L3301;
  goto ret0;

 L3301: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 339;  /* divmoddi4_1 */
    }
  goto ret0;

 L3362: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 342;  /* *divmoddi4 */
    }
  goto ret0;

 L3459: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L3460;
    }
  goto ret0;

 L3460: ATTRIBUTE_UNUSED_LABEL
  if (
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 345;  /* *divmoddi4_noext */
    }
  goto ret0;

 L3545: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3546;
    }
  goto ret0;

 L3546: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L3547;
    }
  goto ret0;

 L3547: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3548;
  goto ret0;

 L3548: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L3549;
    }
  goto ret0;

 L3549: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UMOD)
    goto L3550;
  goto ret0;

 L3550: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3551;
  goto ret0;

 L3551: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3552;
  goto ret0;

 L3552: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L31844;
    case CLOBBER:
      goto L3614;
    case USE:
      goto L3711;
    default:
     break;
   }
  goto ret0;

 L31844: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L3553;
  goto ret0;

 L3553: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 348;  /* udivmoddi4_1 */
    }
  goto ret0;

 L3614: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 351;  /* *udivmoddi4 */
    }
  goto ret0;

 L3711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L3712;
    }
  goto ret0;

 L3712: ATTRIBUTE_UNUSED_LABEL
  if (
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 354;  /* *udivmoddi4_noext */
    }
  goto ret0;

 L6655: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6656;
    }
  goto ret0;

 L6656: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6657;
    }
  goto ret0;

 L6657: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6658;
  goto ret0;

 L6658: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L6659;
  goto ret0;

 L6659: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L6660;
  goto ret0;

 L6660: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L6661;
    }
  goto ret0;

 L6661: ATTRIBUTE_UNUSED_LABEL
  if (
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 556;  /* ix86_rotldi3_doubleword */
    }
  goto ret0;

 L6689: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L6690;
    }
  goto ret0;

 L6690: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6691;
    }
  goto ret0;

 L6691: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6692;
  goto ret0;

 L6692: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L6693;
  goto ret0;

 L6693: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L6694;
  goto ret0;

 L6694: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L6695;
    }
  goto ret0;

 L6695: ATTRIBUTE_UNUSED_LABEL
  if (
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 558;  /* ix86_rotrdi3_doubleword */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_70 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case REG:
      goto L31868;
    case MEM:
      goto L10168;
    default:
     break;
   }
 L31817: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L7919;
    }
 L31823: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L9892;
    }
  goto ret0;

 L31868: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 7)
    goto L7891;
  goto L31817;

 L7891: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7892;
  x2 = XEXP (x1, 0);
  goto L31817;

 L7892: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 6)
    goto L7893;
  x2 = XEXP (x1, 0);
  goto L31817;

 L7893: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L7894;
  x2 = XEXP (x1, 0);
  goto L31817;

 L7894: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7895;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31817;

 L7895: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 6)
    goto L7896;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31817;

 L7896: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MEM)
    goto L7897;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31817;

 L7897: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 6)
    goto L7898;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31817;

 L7898: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7899;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31817;

 L7899: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L7900;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31817;

 L7900: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 11898 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
    {
      return 651;  /* leave */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31817;

 L10168: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L31869;
    case DImode:
      goto L31870;
    default:
      break;
    }
  goto L31823;

 L31869: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L10169;
    }
 L31871: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L10394;
    }
  goto L31823;

 L10169: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MEM)
    goto L10170;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10170: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10171;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10171: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10172;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10172: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10173;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10173: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10174;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10174: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L10175;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10175: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L10176;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10176: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10177;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10177: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10178;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10178: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10179;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10179: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10180;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10180: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)]
      && (
#line 15757 "../../gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 855;  /* *strmovsi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31871;

 L10394: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L10395;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10395: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10396;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10397;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10397: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10398;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10398: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L10399;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10399: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L10400;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10400: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 38)
    goto L10401;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10401: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 15942 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 867;  /* *strsetsi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L31870: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L10185;
    }
 L31872: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L10406;
    }
  goto L31823;

 L10185: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MEM)
    goto L10186;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10186: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10187;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10187: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10188;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10188: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10189;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10189: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10190;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10190: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L10191;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10191: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L10192;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10192: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10193;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10193: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10194;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10194: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10195;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10195: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10196;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10196: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)]
      && (
#line 15757 "../../gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 856;  /* *strmovsi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31872;

 L10406: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L10407;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10407: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10408;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10408: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10409;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10409: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10410;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10410: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L10411;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10411: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L10412;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10412: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 38)
    goto L10413;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10413: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 15942 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 868;  /* *strsetsi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L7919: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31873;
  x2 = XEXP (x1, 0);
  goto L31823;

 L31873: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FFS:
      goto L7920;
    case UNSPEC:
      goto L31881;
    case PLUS:
      goto L10933;
    case MINUS:
      goto L10955;
    case UNSPEC_VOLATILE:
      goto L31884;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L31823;

 L7920: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L7921;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L7921: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7922;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L7922: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L7923;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L7923: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7924;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L7924: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 11999 "../../gcc/config/i386/i386.md"
(!TARGET_CMOVE))
    {
      return 654;  /* ffssi2_no_cmove */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L31881: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 4:
      goto L31886;
    case 5:
      goto L31887;
    case 3:
      goto L31888;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L31886: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 23)
    goto L10643;
  x2 = XEXP (x1, 0);
  goto L31823;

 L10643: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L10644;
  x2 = XEXP (x1, 0);
  goto L31823;

 L10644: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L10645;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10645: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L10646;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10646: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10647;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10647: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L10648;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10648: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10649;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10649: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10650;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10650: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L10651;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10651: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 16235 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 882;  /* *strlenqi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L31887: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 109)
    goto L18959;
  x2 = XEXP (x1, 0);
  goto L31823;

 L18959: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (reg_not_xmm0_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L18960;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L18960: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L18961;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L18961: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (nonimm_not_xmm0_operand (x3, V16QImode))
    {
      operands[4] = x3;
      goto L18962;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L18962: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[5] = x3;
      goto L18963;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L18963: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[6] = x3;
      goto L18964;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L18964: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L18965;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18965: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L18966;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 5
      && XINT (x2, 1) == 109)
    goto L18967;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18967: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L18968;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18968: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L18969;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18969: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[4]))
    goto L18970;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18970: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (rtx_equal_p (x3, operands[5]))
    goto L18971;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18971: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (rtx_equal_p (x3, operands[6]))
    goto L18972;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18972: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L18973;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18973: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L18974;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 5
      && XINT (x2, 1) == 109)
    goto L18975;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18975: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L18976;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18976: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L18977;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18977: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[4]))
    goto L18978;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18978: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (rtx_equal_p (x3, operands[5]))
    goto L18979;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L18979: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (rtx_equal_p (x3, operands[6])
      && 
#line 10085 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2
   && can_create_pseudo_p ()))
    {
      return 1728;  /* sse4_2_pcmpestr */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L31888: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 110)
    goto L19041;
  x2 = XEXP (x1, 0);
  goto L31823;

 L19041: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (reg_not_xmm0_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L19042;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L19042: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (nonimm_not_xmm0_operand (x3, V16QImode))
    {
      operands[3] = x3;
      goto L19043;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L19043: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L19044;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L19044: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L19045;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19045: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L19046;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19046: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 3
      && XINT (x2, 1) == 110)
    goto L19047;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19047: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L19048;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19048: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L19049;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19049: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[4]))
    goto L19050;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19050: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L19051;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19051: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L19052;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19052: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 3
      && XINT (x2, 1) == 110)
    goto L19053;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19053: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L19054;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19054: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L19055;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L19055: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[4])
      && 
#line 10218 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2
   && can_create_pseudo_p ()))
    {
      return 1732;  /* sse4_2_pcmpistr */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10933: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L10934;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10934: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_nonmemory_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L10935;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10935: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10936;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10936: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L10937;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10937: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L10938;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10938: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10939;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10939: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 908;  /* pro_epilogue_adjust_stack_si_add */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10955: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L10956;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10956: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L10957;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L10957: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10958;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10958: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L10959;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10959: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L10960;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10960: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10961;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L10961: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 910;  /* pro_epilogue_adjust_stack_si_sub */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L31884: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 3:
      goto L31889;
    case 2:
      goto L31890;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L31889: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 30)
    goto L23330;
  x2 = XEXP (x1, 0);
  goto L31823;

 L23330: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23331;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L23331: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23332;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L23332: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23333;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L23333: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23334;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23334: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23335;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23335: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23336;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23336: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23337;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23337: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L23338;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23338: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23339;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23339: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23340;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23340: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 390 "../../gcc/config/i386/sync.md"
(TARGET_CMPXCHG))
    {
      return 2022;  /* atomic_compare_and_swapsi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L31890: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 31)
    goto L23500;
  x2 = XEXP (x1, 0);
  goto L31823;

 L23500: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L23501;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L23501: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23502;
    }
  x2 = XEXP (x1, 0);
  goto L31823;

 L23502: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23503;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23503: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23504;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23504: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L23505;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23505: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L23506;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23506: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L23507;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23507: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L23508;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L23508: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 452 "../../gcc/config/i386/sync.md"
(TARGET_XADD))
    {
      return 2028;  /* atomic_fetch_addsi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31823;

 L9892: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31891;
  goto ret0;

 L31891: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31895;
  goto ret0;

 L31895: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31899;
  goto ret0;

 L31899: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9893;
    case 63L:
      goto L10043;
    case 76L:
      goto L11071;
    case 78L:
      goto L11107;
    default:
      break;
    }
  goto ret0;

 L9893: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9894;
    }
  goto ret0;

 L9894: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9895;
  goto ret0;

 L9895: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9896;
    }
  goto ret0;

 L9896: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9897;
  goto ret0;

 L9897: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9898;
    }
  goto ret0;

 L9898: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15024 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 829;  /* fistsi2_floor */
    }
  goto ret0;

 L10043: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10044;
    }
  goto ret0;

 L10044: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10045;
  goto ret0;

 L10045: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10046;
    }
  goto ret0;

 L10046: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10047;
  goto ret0;

 L10047: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10048;
    }
  goto ret0;

 L10048: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15282 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 840;  /* fistsi2_ceil */
    }
  goto ret0;

 L11071: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L11072;
    }
  goto ret0;

 L11072: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11073;
  goto ret0;

 L11073: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11074;
    }
  goto ret0;

 L11074: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11075;
  goto ret0;

 L11075: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L11076;
  goto ret0;

 L11076: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 17788 "../../gcc/config/i386/i386.md"
(!TARGET_HAS_BIONIC) && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == SImode)))
    {
      return 921;  /* stack_protect_set_si */
    }
  goto ret0;

 L11107: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L11108;
    }
  goto ret0;

 L11108: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11109;
  goto ret0;

 L11109: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11110;
    }
  goto ret0;

 L11110: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11111;
  goto ret0;

 L11111: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L11112;
  goto ret0;

 L11112: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == SImode))
    {
      return 923;  /* stack_tls_protect_set_si */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_71 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case REG:
      goto L31903;
    case MEM:
      goto L10152;
    default:
     break;
   }
 L31820: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L9722;
    }
 L31821: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L9846;
    }
 L31828: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10667;
    }
  goto ret0;

 L31903: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 7)
    goto L7904;
  goto L31820;

 L7904: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L7905;
  x2 = XEXP (x1, 0);
  goto L31820;

 L7905: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 6)
    goto L7906;
  x2 = XEXP (x1, 0);
  goto L31820;

 L7906: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L7907;
  x2 = XEXP (x1, 0);
  goto L31820;

 L7907: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7908;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L7908: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 6)
    goto L7909;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L7909: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MEM)
    goto L7910;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L7910: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 6)
    goto L7911;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L7911: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7912;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L7912: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L7913;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L7913: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 11906 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 652;  /* leave_rex64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L10152: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L31904;
  goto L31820;

 L31904: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L10153;
    }
 L31905: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L10382;
    }
  goto L31820;

 L10153: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MEM)
    goto L10154;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10154: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10155;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10155: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10156;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10156: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10157;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10157: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10158;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10158: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L10159;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10159: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L10160;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10160: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10161;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10161: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10162;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10163;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10163: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10164;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10164: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)]
      && 
#line 15741 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])))
    {
      return 854;  /* *strmovdi_rex_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31905;

 L10382: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L10383;
    }
  x2 = XEXP (x1, 0);
  goto L31820;

 L10383: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10384;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L10384: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10385;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L10385: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10386;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L10386: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L10387;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L10387: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L10388;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L10388: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 38)
    goto L10389;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L10389: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 15928 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])))
    {
      return 866;  /* *strsetdi_rex_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31820;

 L9722: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31906;
  x2 = XEXP (x1, 0);
  goto L31821;

 L31906: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31908;
  x2 = XEXP (x1, 0);
  goto L31821;

 L31908: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31910;
  x2 = XEXP (x1, 0);
  goto L31821;

 L31910: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 54L:
      goto L9723;
    case 140L:
      goto L23233;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31821;

 L9723: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9724;
    }
  x2 = XEXP (x1, 0);
  goto L31821;

 L9724: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L9725;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L9725: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L9726;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L9726: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L9727;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L9727: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L9728;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L9728: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14717 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 814;  /* fistdi2_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L23233: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23234;
    }
  x2 = XEXP (x1, 0);
  goto L31821;

 L23234: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23235;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L23235: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L23236;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L23236: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L23237;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L23237: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L23238;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L23238: ATTRIBUTE_UNUSED_LABEL
  if (
#line 164 "../../gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
    {
      return 2012;  /* atomic_loaddi_fpu */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31821;

 L9846: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31912;
  x2 = XEXP (x1, 0);
  goto L31828;

 L31912: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31917;
  x2 = XEXP (x1, 0);
  goto L31828;

 L31917: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31922;
  x2 = XEXP (x1, 0);
  goto L31828;

 L31922: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9847;
    case 63L:
      goto L9997;
    case 76L:
      goto L11089;
    case 78L:
      goto L11125;
    case 140L:
      goto L23272;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31828;

 L9847: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9848;
    }
  x2 = XEXP (x1, 0);
  goto L31828;

 L9848: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9849;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L9849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9850;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L9850: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9851;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L9851: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9852;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L9852: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14965 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 826;  /* fistdi2_floor */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L9997: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9998;
    }
  x2 = XEXP (x1, 0);
  goto L31828;

 L9998: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9999;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L9999: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10000;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L10000: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10001;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L10001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10002;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L10002: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15223 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 837;  /* fistdi2_ceil */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11089: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L11090;
    }
  x2 = XEXP (x1, 0);
  goto L31828;

 L11090: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11091;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11091: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L11092;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11092: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11093;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11093: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L11094;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11094: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 17788 "../../gcc/config/i386/i386.md"
(!TARGET_HAS_BIONIC) && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == DImode)))
    {
      return 922;  /* stack_protect_set_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11125: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L11126;
    }
  x2 = XEXP (x1, 0);
  goto L31828;

 L11126: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11127;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11127: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L11128;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11128: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11129;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11129: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L11130;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L11130: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 905 "../../gcc/config/i386/i386.md"
(ptr_mode == DImode))
    {
      return 924;  /* stack_tls_protect_set_di */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L23272: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23273;
    }
  x2 = XEXP (x1, 0);
  goto L31828;

 L23273: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L23274;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L23274: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L23275;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L23275: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L23276;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L23276: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L23277;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L23277: ATTRIBUTE_UNUSED_LABEL
  if (
#line 250 "../../gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
    {
      return 2017;  /* atomic_storedi_fpu */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31828;

 L10667: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L31927;
  goto ret0;

 L31927: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      goto L31933;
    case PLUS:
      goto L10944;
    case MINUS:
      goto L10966;
    case UNSPEC_VOLATILE:
      goto L31934;
    default:
     break;
   }
  goto ret0;

 L31933: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 23)
    goto L10668;
  goto ret0;

 L10668: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L10669;
  goto ret0;

 L10669: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[5] = x4;
      goto L10670;
    }
  goto ret0;

 L10670: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L10671;
    }
  goto ret0;

 L10671: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (immediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10672;
    }
  goto ret0;

 L10672: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, DImode))
    {
      operands[4] = x3;
      goto L10673;
    }
  goto ret0;

 L10673: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10674;
  goto ret0;

 L10674: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10675;
    }
  goto ret0;

 L10675: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L10676;
  goto ret0;

 L10676: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 16235 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 883;  /* *strlenqi_1 */
    }
  goto ret0;

 L10944: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L10945;
    }
  goto ret0;

 L10945: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_nonmemory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L10946;
    }
  goto ret0;

 L10946: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10947;
  goto ret0;

 L10947: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L10948;
  goto ret0;

 L10948: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L10949;
  goto ret0;

 L10949: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10950;
  goto ret0;

 L10950: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 909;  /* pro_epilogue_adjust_stack_di_add */
    }
  goto ret0;

 L10966: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L10967;
    }
  goto ret0;

 L10967: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L10968;
    }
  goto ret0;

 L10968: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L10969;
  goto ret0;

 L10969: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L10970;
  goto ret0;

 L10970: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L10971;
  goto ret0;

 L10971: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10972;
  goto ret0;

 L10972: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 911;  /* pro_epilogue_adjust_stack_di_sub */
    }
  goto ret0;

 L31934: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L31937;
    case 3:
      goto L31938;
    case 2:
      goto L31939;
    default:
      break;
    }
  goto ret0;

 L31937: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 9)
    goto L11263;
  goto ret0;

 L11263: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11264;
  goto ret0;

 L11264: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11265;
  goto ret0;

 L11265: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L11266;
    }
  goto ret0;

 L11266: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 9)
    goto L11267;
  goto ret0;

 L11267: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L11268;
  goto ret0;

 L11268: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L11269;
  goto ret0;

 L11269: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L11270;
    }
  goto ret0;

 L11270: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 9)
    goto L11271;
  goto ret0;

 L11271: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 18042 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 938;  /* *rdtscp_rex64 */
    }
  goto ret0;

 L31938: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 30)
    goto L23345;
  goto ret0;

 L23345: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23346;
    }
  goto ret0;

 L23346: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L23347;
    }
  goto ret0;

 L23347: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L23348;
    }
  goto ret0;

 L23348: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23349;
  goto ret0;

 L23349: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23350;
  goto ret0;

 L23350: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23351;
  goto ret0;

 L23351: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23352;
  goto ret0;

 L23352: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L23353;
  goto ret0;

 L23353: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23354;
  goto ret0;

 L23354: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23355;
  goto ret0;

 L23355: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 390 "../../gcc/config/i386/sync.md"
(TARGET_CMPXCHG) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 2023;  /* atomic_compare_and_swapdi_1 */
    }
  goto ret0;

 L31939: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 31)
    goto L23525;
  goto ret0;

 L23525: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L23526;
    }
  goto ret0;

 L23526: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23527;
    }
  goto ret0;

 L23527: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23528;
  goto ret0;

 L23528: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23529;
  goto ret0;

 L23529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L23530;
  goto ret0;

 L23530: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L23531;
  goto ret0;

 L23531: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L23532;
    }
  goto ret0;

 L23532: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L23533;
  goto ret0;

 L23533: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 452 "../../gcc/config/i386/sync.md"
(TARGET_XADD) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 2029;  /* atomic_fetch_adddi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_72 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case DImode:
      goto L31801;
    case HImode:
      goto L31802;
    case SImode:
      goto L31803;
    case SFmode:
      goto L31807;
    case DFmode:
      goto L31808;
    case XFmode:
      goto L31809;
    case TFmode:
      goto L31813;
    case TImode:
      goto L31814;
    default:
      break;
    }
 L7763: ATTRIBUTE_UNUSED_LABEL
  operands[0] = x2;
  goto L7764;
 L7890: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31815;
    case DImode:
      goto L31816;
    case CCmode:
      goto L31818;
    case XFmode:
      goto L31819;
    case HImode:
      goto L31826;
    case QImode:
      goto L31827;
    default:
      break;
    }
  goto ret0;

 L31801: ATTRIBUTE_UNUSED_LABEL
  tem = recog_69 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L7763;

 L31802: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L1084;
    }
 L31805: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L1222;
    }
 L31812: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L3305;
    }
  goto L7763;

 L1084: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == FIX)
    goto L1085;
  x2 = XEXP (x1, 0);
  goto L31805;

 L1085: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1086;
    }
  x2 = XEXP (x1, 0);
  goto L31805;

 L1086: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1087;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31805;

 L1087: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1088;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31805;

 L1088: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1089;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31805;

 L1089: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L1090;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31805;

 L1090: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4512 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	&& (TARGET_64BIT || HImode != DImode))
	&& TARGET_SSE_MATH)))
    {
      return 164;  /* fix_trunchi_i387_fisttp_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31805;

 L1222: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == FIX)
    goto L1223;
  x2 = XEXP (x1, 0);
  goto L31812;

 L1223: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1224;
    }
  x2 = XEXP (x1, 0);
  goto L31812;

 L1224: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1225;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31812;

 L1225: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1226;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31812;

 L1226: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L1227;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31812;

 L1227: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L1228;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31812;

 L1228: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4639 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
    {
      return 172;  /* fix_trunchi_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31812;

 L3305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L31845;
  x2 = XEXP (x1, 0);
  goto L7763;

 L31845: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case DIV:
      goto L3306;
    case UDIV:
      goto L3558;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3306: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L3307;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3307: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L3308;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3308: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3309;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3309: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L3310;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3310: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MOD)
    goto L3311;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3311: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3312;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3312: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3313;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3313: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case CLOBBER:
      goto L3314;
    case USE:
      goto L3401;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3314: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
    {
      return 340;  /* *divmodhi4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L3402;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3402: ATTRIBUTE_UNUSED_LABEL
  if (
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 343;  /* *divmodhi4_noext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3558: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L3559;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3559: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L3560;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3560: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3561;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3561: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L3562;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UMOD)
    goto L3563;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3563: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3564;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3564: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3565;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3565: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case CLOBBER:
      goto L3566;
    case USE:
      goto L3653;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3566: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
    {
      return 349;  /* *udivmodhi4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L3654;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3654: ATTRIBUTE_UNUSED_LABEL
  if (
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 352;  /* *udivmodhi4_noext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L31803: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L1102;
    }
 L31806: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L1232;
    }
 L31811: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L3145;
    }
  goto L7763;

 L1102: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == FIX)
    goto L1103;
  x2 = XEXP (x1, 0);
  goto L31806;

 L1103: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1104;
    }
  x2 = XEXP (x1, 0);
  goto L31806;

 L1104: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1105;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31806;

 L1105: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L1106;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31806;

 L1106: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1107;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31806;

 L1107: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[3] = x2;
      goto L1108;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31806;

 L1108: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4512 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	&& (TARGET_64BIT || SImode != DImode))
	&& TARGET_SSE_MATH)))
    {
      return 165;  /* fix_truncsi_i387_fisttp_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31806;

 L1232: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == FIX)
    goto L1233;
  x2 = XEXP (x1, 0);
  goto L31811;

 L1233: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1234;
    }
  x2 = XEXP (x1, 0);
  goto L31811;

 L1234: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1235;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31811;

 L1235: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1236;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31811;

 L1236: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L1237;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31811;

 L1237: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L1238;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31811;

 L1238: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4639 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
    {
      return 173;  /* fix_truncsi_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31811;

 L3145: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L31847;
  x2 = XEXP (x1, 0);
  goto L7763;

 L31847: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case TRUNCATE:
      goto L3146;
    case DIV:
      goto L3265;
    case UDIV:
      goto L3517;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3146: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == LSHIFTRT)
    goto L3147;
  x2 = XEXP (x1, 0);
  goto L7763;

 L3147: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == MULT)
    goto L3148;
  x2 = XEXP (x1, 0);
  goto L7763;

 L3148: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode)
    goto L31850;
  x2 = XEXP (x1, 0);
  goto L7763;

 L31850: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x5))
    {
    case SIGN_EXTEND:
      goto L3149;
    case ZERO_EXTEND:
      goto L3174;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3149: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, SImode))
    {
      operands[1] = x6;
      goto L3150;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3150: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == DImode
      && GET_CODE (x5) == SIGN_EXTEND)
    goto L3151;
  x2 = XEXP (x1, 0);
  goto L7763;

 L3151: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L3152;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3152: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L3153;
  x2 = XEXP (x1, 0);
  goto L7763;

 L3153: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3154;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3154: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L3155;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3155: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L3156;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3156: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6963 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 334;  /* *smulsi3_highpart_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3174: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, SImode))
    {
      operands[1] = x6;
      goto L3175;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3175: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) == DImode
      && GET_CODE (x5) == ZERO_EXTEND)
    goto L3176;
  x2 = XEXP (x1, 0);
  goto L7763;

 L3176: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (nonimmediate_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L3177;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3177: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (32)])
    goto L3178;
  x2 = XEXP (x1, 0);
  goto L7763;

 L3178: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L3179;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3179: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L3180;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3180: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L3181;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3181: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 6963 "../../gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
    {
      return 335;  /* *umulsi3_highpart_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3265: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3266;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3266: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L3267;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3267: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3268;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3268: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L3269;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3269: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MOD)
    goto L3270;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3270: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3271;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3271: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3272;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3272: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L31852;
    case CLOBBER:
      goto L3338;
    case USE:
      goto L3430;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L31852: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L3273;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3273: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 338;  /* divmodsi4_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3338: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 341;  /* *divmodsi4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3430: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L3431;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3431: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 344;  /* *divmodsi4_noext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3517: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3518;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3518: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L3519;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L3519: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3520;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3520: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L3521;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3521: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UMOD)
    goto L3522;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3522: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3523;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3523: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3524;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3524: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L31853;
    case CLOBBER:
      goto L3590;
    case USE:
      goto L3682;
    default:
     break;
   }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L31853: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L3525;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3525: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 347;  /* udivmodsi4_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3590: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 350;  /* *udivmodsi4 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3682: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L3683;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L3683: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 353;  /* *udivmodsi4_noext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L31807: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L1669;
    }
  goto L7763;

 L1669: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode)
    goto L31854;
  x2 = XEXP (x1, 0);
  goto L7763;

 L31854: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSIGNED_FLOAT)
    goto L1670;
  if (absneg_operator (x2, SFmode))
    {
      operands[3] = x2;
      goto L5130;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L1670: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1671;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L1671: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1672;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1672: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1673;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1673: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1674;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1674: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L1675;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1675: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5349 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE))
    {
      return 240;  /* *floatunssisf2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5130: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L5131;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L5131: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L5132;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5132: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode)
    goto L31856;
 L5200: ATTRIBUTE_UNUSED_LABEL
  operands[2] = x2;
  goto L5201;

 L31856: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L5133;
    }
 L31857: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L5167;
    }
  goto L5200;

 L5133: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L5134;
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L31857;

 L5134: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8599 "../../gcc/config/i386/i386.md"
(TARGET_MIX_SSE_I387 && SSE_FLOAT_MODE_P (SFmode)))
    {
      return 443;  /* *absnegsf2_mixed */
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L31857;

 L5167: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L5168;
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L5200;

 L5168: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8608 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      return 445;  /* *absnegsf2_sse */
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L5200;

 L5201: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L5202;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5202: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8617 "../../gcc/config/i386/i386.md"
(TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
    {
      return 447;  /* *absnegsf2_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L31808: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L1687;
    }
  goto L7763;

 L1687: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode)
    goto L31858;
  x2 = XEXP (x1, 0);
  goto L7763;

 L31858: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSIGNED_FLOAT)
    goto L1688;
  if (absneg_operator (x2, DFmode))
    {
      operands[3] = x2;
      goto L5147;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L1688: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1689;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L1689: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1690;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1690: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1691;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1691: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1692;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1692: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L1693;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1693: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5349 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE))
    {
      return 241;  /* *floatunssidf2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5147: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L5148;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L5148: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L5149;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5149: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L31860;
 L5217: ATTRIBUTE_UNUSED_LABEL
  operands[2] = x2;
  goto L5218;

 L31860: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L5150;
    }
 L31861: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L5184;
    }
  goto L5217;

 L5150: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L5151;
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L31861;

 L5151: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8599 "../../gcc/config/i386/i386.md"
(TARGET_MIX_SSE_I387 && SSE_FLOAT_MODE_P (DFmode)))
    {
      return 444;  /* *absnegdf2_mixed */
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L31861;

 L5184: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L5185;
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L5217;

 L5185: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8608 "../../gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      return 446;  /* *absnegdf2_sse */
    }
  x1 = XVECEXP (x0, 0, 1);
  x2 = XEXP (x1, 0);
  goto L5217;

 L5218: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L5219;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5219: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8617 "../../gcc/config/i386/i386.md"
(TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
    {
      return 448;  /* *absnegdf2_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L31809: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L1705;
    }
  goto L7763;

 L1705: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode)
    goto L31862;
  x2 = XEXP (x1, 0);
  goto L7763;

 L31862: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSIGNED_FLOAT)
    goto L1706;
  if (absneg_operator (x2, XFmode))
    {
      operands[3] = x2;
      goto L5232;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L1706: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L1707;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L1707: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1708;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1708: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1709;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1709: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1710;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1710: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L1711;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L1711: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5349 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE))
    {
      return 242;  /* *floatunssixf2_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5232: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L5233;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L5233: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L5234;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  goto L5235;

 L5235: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L5236;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5236: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8617 "../../gcc/config/i386/i386.md"
(TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
    {
      return 449;  /* *absnegxf2_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L31813: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, TFmode))
    {
      operands[0] = x2;
      goto L5248;
    }
  goto L7763;

 L5248: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, TFmode))
    {
      operands[3] = x2;
      goto L5249;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L5249: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TFmode))
    {
      operands[1] = x3;
      goto L5250;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L5250: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L5251;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5251: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L5252;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5252: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L5253;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L5253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8632 "../../gcc/config/i386/i386.md"
(TARGET_SSE2))
    {
      return 450;  /* *absnegtf2_sse */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L31814: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, TImode))
    {
      operands[0] = x2;
      goto L6671;
    }
  goto L7763;

 L6671: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode)
    goto L31864;
  x2 = XEXP (x1, 0);
  goto L7763;

 L31864: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ROTATE:
      goto L6672;
    case ROTATERT:
      goto L6706;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7763;

 L6672: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L6673;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L6673: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_63_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6674;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L6674: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6675;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6675: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L6676;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6676: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L6677;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6677: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L6678;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6678: ATTRIBUTE_UNUSED_LABEL
  if (
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 557;  /* ix86_rotlti3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6706: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L6707;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L6707: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_63_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L6708;
    }
  x2 = XEXP (x1, 0);
  goto L7763;

 L6708: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L6709;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6709: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L6710;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6710: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L6711;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L6712;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L6712: ATTRIBUTE_UNUSED_LABEL
  if (
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 559;  /* ix86_rotrti3_doubleword */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7763;

 L7764: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL)
    goto L7765;
  x2 = XEXP (x1, 0);
  goto L7890;

 L7765: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MEM)
    goto L7766;
  x2 = XEXP (x1, 0);
  goto L7890;

 L7766: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L31866;
  x2 = XEXP (x1, 0);
  goto L7890;

 L31866: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L7767;
    }
 L31867: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L7795;
    }
  x2 = XEXP (x1, 0);
  goto L7890;

 L7767: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7768;

 L7768: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7769;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31867;

 L7769: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L7770;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31867;

 L7770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7771;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31867;

 L7771: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L7772;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31867;

 L7772: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L7773;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31867;

 L7773: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7774;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31867;

 L7774: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[4] = x2;
      goto L7775;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31867;

 L7775: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11554 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !TARGET_64BIT && !SIBLING_CALL_P (insn)))
    {
      return 631;  /* *call_value_pop_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L31867;

 L7795: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7796;

 L7796: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7797;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7890;

 L7797: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L7798;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7890;

 L7798: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7799;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7890;

 L7799: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L7800;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7890;

 L7800: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L7801;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7890;

 L7801: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7802;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7890;

 L7802: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[4] = x2;
      goto L7803;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7890;

 L7803: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11581 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !TARGET_64BIT && SIBLING_CALL_P (insn)))
    {
      return 633;  /* *sibcall_value_pop_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7890;

 L31815: ATTRIBUTE_UNUSED_LABEL
  return recog_70 (x0, insn, pnum_clobbers);

 L31816: ATTRIBUTE_UNUSED_LABEL
  return recog_71 (x0, insn, pnum_clobbers);

 L31818: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L8793;
  goto ret0;

 L8793: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode)
    goto L31940;
  goto ret0;

 L31940: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31943;
  goto ret0;

 L31943: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L31946;
    case 5:
      goto L31947;
    case 3:
      goto L31948;
    default:
      break;
    }
  goto ret0;

 L31946: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 26)
    goto L8794;
  goto ret0;

 L8794: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8795;
    }
  goto ret0;

 L8795: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8796;
  goto ret0;

 L8796: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L8797;
    }
  goto ret0;

 L8797: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L8798;
  goto ret0;

 L8798: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L8799;
    }
  goto ret0;

 L8799: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12545 "../../gcc/config/i386/i386.md"
(! TARGET_POPCNT))
    {
      return 716;  /* paritysi2_cmp */
    }
  goto ret0;

 L31947: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 109)
    goto L19018;
  goto ret0;

 L19018: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L19019;
    }
  goto ret0;

 L19019: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L19020;
    }
  goto ret0;

 L19020: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[4] = x3;
      goto L19021;
    }
  goto ret0;

 L19021: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[5] = x3;
      goto L19022;
    }
  goto ret0;

 L19022: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[6] = x3;
      goto L19023;
    }
  goto ret0;

 L19023: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L19024;
  goto ret0;

 L19024: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V16QImode))
    {
      operands[0] = x2;
      goto L19025;
    }
  goto ret0;

 L19025: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L19026;
  goto ret0;

 L19026: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L19027;
    }
  goto ret0;

 L19027: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10185 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2))
    {
      return 1731;  /* sse4_2_pcmpestr_cconly */
    }
  goto ret0;

 L31948: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 110)
    goto L19086;
  goto ret0;

 L19086: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L19087;
    }
  goto ret0;

 L19087: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (nonimmediate_operand (x3, V16QImode))
    {
      operands[3] = x3;
      goto L19088;
    }
  goto ret0;

 L19088: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L19089;
    }
  goto ret0;

 L19089: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L19090;
  goto ret0;

 L19090: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V16QImode))
    {
      operands[0] = x2;
      goto L19091;
    }
  goto ret0;

 L19091: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L19092;
  goto ret0;

 L19092: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L19093;
    }
  goto ret0;

 L19093: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10305 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2))
    {
      return 1735;  /* sse4_2_pcmpistr_cconly */
    }
  goto ret0;

 L31819: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L9363;
    }
  goto ret0;

 L9363: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode)
    goto L31949;
  goto ret0;

 L31949: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31955;
  goto ret0;

 L31955: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 2:
      goto L31961;
    case 1:
      goto L31963;
    default:
      break;
    }
  goto ret0;

 L31961: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 70L:
      goto L9364;
    case 72L:
      goto L9380;
    default:
      break;
    }
  goto ret0;

 L9364: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9365;
    }
  goto ret0;

 L9365: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[3] = x3;
      goto L9366;
    }
  goto ret0;

 L9366: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9367;
  goto ret0;

 L9367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9368;
    }
  goto ret0;

 L9368: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 71)
    goto L9369;
  goto ret0;

 L9369: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L9370;
  goto ret0;

 L9370: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L9371;
  goto ret0;

 L9371: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L9372;
  goto ret0;

 L9372: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L9373;
  goto ret0;

 L9373: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 74)
    goto L9374;
  goto ret0;

 L9374: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L9375;
  goto ret0;

 L9375: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 13467 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 781;  /* fpremxf4_i387 */
    }
  goto ret0;

 L9380: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L9381;
    }
  goto ret0;

 L9381: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, XFmode))
    {
      operands[3] = x3;
      goto L9382;
    }
  goto ret0;

 L9382: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L9383;
  goto ret0;

 L9383: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L9384;
    }
  goto ret0;

 L9384: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 73)
    goto L9385;
  goto ret0;

 L9385: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L9386;
  goto ret0;

 L9386: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L9387;
  goto ret0;

 L9387: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L9388;
  goto ret0;

 L9388: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L9389;
  goto ret0;

 L9389: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 2
      && XINT (x2, 1) == 74)
    goto L9390;
  goto ret0;

 L9390: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L9391;
  goto ret0;

 L9391: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 13538 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
    {
      return 782;  /* fprem1xf4_i387 */
    }
  goto ret0;

 L31963: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 58L:
      goto L9789;
    case 59L:
      goto L9939;
    case 60L:
      goto L10089;
    case 61L:
      goto L10111;
    default:
      break;
    }
  goto ret0;

 L9789: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9790;
    }
  goto ret0;

 L9790: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9791;
  goto ret0;

 L9791: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9792;
    }
  goto ret0;

 L9792: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9793;
  goto ret0;

 L9793: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9794;
    }
  goto ret0;

 L9794: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14867 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 822;  /* frndintxf2_floor_i387 */
    }
  goto ret0;

 L9939: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9940;
    }
  goto ret0;

 L9940: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9941;
  goto ret0;

 L9941: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9942;
    }
  goto ret0;

 L9942: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9943;
  goto ret0;

 L9943: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9944;
    }
  goto ret0;

 L9944: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15125 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 833;  /* frndintxf2_ceil_i387 */
    }
  goto ret0;

 L10089: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10090;
    }
  goto ret0;

 L10090: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10091;
  goto ret0;

 L10091: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10092;
    }
  goto ret0;

 L10092: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10093;
  goto ret0;

 L10093: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10094;
    }
  goto ret0;

 L10094: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15381 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 844;  /* frndintxf2_trunc_i387 */
    }
  goto ret0;

 L10111: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10112;
    }
  goto ret0;

 L10112: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10113;
  goto ret0;

 L10113: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10114;
    }
  goto ret0;

 L10114: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10115;
  goto ret0;

 L10115: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10116;
    }
  goto ret0;

 L10116: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15472 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 846;  /* frndintxf2_mask_pm_i387 */
    }
  goto ret0;

 L31826: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == MEM)
    goto L10200;
 L31822: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L9882;
    }
 L31830: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L23314;
    }
  goto ret0;

 L10200: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L31967;
    case DImode:
      goto L31968;
    default:
      break;
    }
  goto L31822;

 L31967: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L10201;
    }
 L31969: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L10418;
    }
  goto L31822;

 L10201: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MEM)
    goto L10202;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10202: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10203;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10203: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10204;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10204: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10205;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10205: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10206;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10206: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L10207;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10207: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L10208;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10208: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10209;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10209: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10210;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10210: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10211;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10211: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10212;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10212: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && (
#line 15772 "../../gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 857;  /* *strmovhi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31969;

 L10418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10419;
    }
  x2 = XEXP (x1, 0);
  goto L31822;

 L10419: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10420;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10420: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10421;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10421: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10422;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10422: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L10423;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10423: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L10424;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10424: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 38)
    goto L10425;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10425: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 15955 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 869;  /* *strsethi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L31968: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L10217;
    }
 L31970: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L10430;
    }
  goto L31822;

 L10217: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MEM)
    goto L10218;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10218: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10219;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10219: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10220;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10220: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10221;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10221: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10222;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10222: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L10223;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10223: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L10224;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10224: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10225;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10225: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10226;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10226: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10227;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10227: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10228;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10228: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && (
#line 15772 "../../gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 858;  /* *strmovhi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31970;

 L10430: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10431;
    }
  x2 = XEXP (x1, 0);
  goto L31822;

 L10431: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10432;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10432: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10433;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10433: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10434;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10434: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L10435;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10435: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L10436;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10436: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 38)
    goto L10437;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L10437: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 15955 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 870;  /* *strsethi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31822;

 L9882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L31971;
  x2 = XEXP (x1, 0);
  goto L31830;

 L31971: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L31973;
  x2 = XEXP (x1, 0);
  goto L31830;

 L31973: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L31975;
  x2 = XEXP (x1, 0);
  goto L31830;

 L31975: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9883;
    case 63L:
      goto L10033;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31830;

 L9883: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9884;
    }
  x2 = XEXP (x1, 0);
  goto L31830;

 L9884: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9885;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L9885: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9886;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L9886: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9887;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L9887: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9888;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L9888: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15024 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 828;  /* fisthi2_floor */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L10033: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10034;
    }
  x2 = XEXP (x1, 0);
  goto L31830;

 L10034: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10035;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L10035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10036;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L10036: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10037;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L10037: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10038;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L10038: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15282 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 839;  /* fisthi2_ceil */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31830;

 L23314: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L31977;
  goto ret0;

 L31977: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC_VOLATILE)
    goto L31979;
  goto ret0;

 L31979: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 3:
      goto L31981;
    case 2:
      goto L31982;
    default:
      break;
    }
  goto ret0;

 L31981: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 30)
    goto L23315;
  goto ret0;

 L23315: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23316;
    }
  goto ret0;

 L23316: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L23317;
    }
  goto ret0;

 L23317: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L23318;
    }
  goto ret0;

 L23318: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23319;
  goto ret0;

 L23319: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23320;
  goto ret0;

 L23320: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23321;
  goto ret0;

 L23321: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23322;
  goto ret0;

 L23322: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L23323;
  goto ret0;

 L23323: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23324;
  goto ret0;

 L23324: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23325;
  goto ret0;

 L23325: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 390 "../../gcc/config/i386/sync.md"
(TARGET_CMPXCHG))
    {
      return 2021;  /* atomic_compare_and_swaphi_1 */
    }
  goto ret0;

 L31982: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 31)
    goto L23475;
  goto ret0;

 L23475: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L23476;
    }
  goto ret0;

 L23476: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23477;
    }
  goto ret0;

 L23477: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23478;
  goto ret0;

 L23478: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23479;
  goto ret0;

 L23479: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == PLUS)
    goto L23480;
  goto ret0;

 L23480: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L23481;
  goto ret0;

 L23481: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L23482;
    }
  goto ret0;

 L23482: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L23483;
  goto ret0;

 L23483: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 452 "../../gcc/config/i386/sync.md"
(TARGET_XADD))
    {
      return 2027;  /* atomic_fetch_addhi */
    }
  goto ret0;

 L31827: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == MEM)
    goto L10232;
  if (register_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L23299;
    }
  goto ret0;

 L10232: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L31983;
    case DImode:
      goto L31984;
    default:
      break;
    }
  goto ret0;

 L31983: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L10233;
    }
 L31985: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L10442;
    }
  goto ret0;

 L10233: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L10234;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10234: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10235;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10235: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10236;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10236: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10237;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10237: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10238;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10238: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L10239;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10239: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L10240;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10240: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10241;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10241: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10242;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10242: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10243;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10243: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10244;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10244: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 15787 "../../gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 859;  /* *strmovqi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31985;

 L10442: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L10443;
    }
  goto ret0;

 L10443: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10444;
  goto ret0;

 L10444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10445;
    }
  goto ret0;

 L10445: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10446;
  goto ret0;

 L10446: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L10447;
  goto ret0;

 L10447: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L10448;
  goto ret0;

 L10448: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 38)
    goto L10449;
  goto ret0;

 L10449: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 15968 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 871;  /* *strsetqi_1 */
    }
  goto ret0;

 L31984: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L10249;
    }
 L31986: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L10454;
    }
  goto ret0;

 L10249: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L10250;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10250: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10251;
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10251: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10252;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10253;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10254;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10254: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L10255;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10255: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L10256;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10256: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10257;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10257: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10258;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10258: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10259;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10259: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10260;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10260: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 15787 "../../gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 860;  /* *strmovqi_1 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31986;

 L10454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L10455;
    }
  goto ret0;

 L10455: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10456;
  goto ret0;

 L10456: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10457;
    }
  goto ret0;

 L10457: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10458;
  goto ret0;

 L10458: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L10459;
  goto ret0;

 L10459: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L10460;
  goto ret0;

 L10460: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 38)
    goto L10461;
  goto ret0;

 L10461: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 15968 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 872;  /* *strsetqi_1 */
    }
  goto ret0;

 L23299: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode)
    goto L31987;
  goto ret0;

 L31987: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC_VOLATILE)
    goto L31989;
  goto ret0;

 L31989: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 3:
      goto L31991;
    case 2:
      goto L31992;
    default:
      break;
    }
  goto ret0;

 L31991: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 30)
    goto L23300;
  goto ret0;

 L23300: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23301;
    }
  goto ret0;

 L23301: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L23302;
    }
  goto ret0;

 L23302: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, QImode))
    {
      operands[3] = x3;
      goto L23303;
    }
  goto ret0;

 L23303: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23304;
  goto ret0;

 L23304: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23305;
  goto ret0;

 L23305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23306;
  goto ret0;

 L23306: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23307;
  goto ret0;

 L23307: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L23308;
  goto ret0;

 L23308: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23309;
  goto ret0;

 L23309: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23310;
  goto ret0;

 L23310: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 390 "../../gcc/config/i386/sync.md"
(TARGET_CMPXCHG))
    {
      return 2020;  /* atomic_compare_and_swapqi_1 */
    }
  goto ret0;

 L31992: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 31)
    goto L23450;
  goto ret0;

 L23450: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L23451;
    }
  goto ret0;

 L23451: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23452;
    }
  goto ret0;

 L23452: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23453;
  goto ret0;

 L23453: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L23454;
  goto ret0;

 L23454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == PLUS)
    goto L23455;
  goto ret0;

 L23455: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L23456;
  goto ret0;

 L23456: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L23457;
    }
  goto ret0;

 L23457: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L23458;
  goto ret0;

 L23458: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 452 "../../gcc/config/i386/sync.md"
(TARGET_XADD))
    {
      return 2026;  /* atomic_fetch_addqi */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_73 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case UNSIGNED_FIX:
      goto L971;
    case DIV:
      goto L3250;
    case UDIV:
      goto L3502;
    case UNSPEC:
      goto L32014;
    case PLUS:
      goto L8879;
    case UNSPEC_VOLATILE:
      goto L32016;
    default:
     break;
   }
  goto ret0;

 L971: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L32018;
    case DFmode:
      goto L32019;
    default:
      break;
    }
  goto ret0;

 L32018: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[3] = x3;
      goto L972;
    }
  goto ret0;

 L972: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L973;
  goto ret0;

 L973: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L974;
    }
  goto ret0;

 L974: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L975;
  goto ret0;

 L975: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L976;
    }
  goto ret0;

 L976: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L977;
  goto ret0;

 L977: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L978;
    }
  goto ret0;

 L978: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4389 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)))
    {
      return 152;  /* *fixuns_truncsf_1 */
    }
  goto ret0;

 L32019: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[3] = x3;
      goto L992;
    }
  goto ret0;

 L992: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L993;
  goto ret0;

 L993: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L994;
    }
  goto ret0;

 L994: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L995;
  goto ret0;

 L995: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L996;
    }
  goto ret0;

 L996: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L997;
  goto ret0;

 L997: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L998;
    }
  goto ret0;

 L998: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4389 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)))
    {
      return 153;  /* *fixuns_truncdf_1 */
    }
  goto ret0;

 L3250: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3251;
    }
  goto ret0;

 L3251: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L3252;
    }
  goto ret0;

 L3252: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3253;
  goto ret0;

 L3253: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L3254;
    }
  goto ret0;

 L3254: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MOD)
    goto L3255;
  goto ret0;

 L3255: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3256;
  goto ret0;

 L3256: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3257;
  goto ret0;

 L3257: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L32020;
    case USE:
      goto L3415;
    default:
     break;
   }
  goto ret0;

 L32020: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L3258;
  goto ret0;

 L3258: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L3259;
  goto ret0;

 L3259: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3260;
  goto ret0;

 L3260: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 338;  /* divmodsi4_1 */
    }
  goto ret0;

 L3415: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L3416;
    }
  goto ret0;

 L3416: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3417;
  goto ret0;

 L3417: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 344;  /* *divmodsi4_noext */
    }
  goto ret0;

 L3502: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L3503;
    }
  goto ret0;

 L3503: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L3504;
    }
  goto ret0;

 L3504: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3505;
  goto ret0;

 L3505: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L3506;
    }
  goto ret0;

 L3506: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UMOD)
    goto L3507;
  goto ret0;

 L3507: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3508;
  goto ret0;

 L3508: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3509;
  goto ret0;

 L3509: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L32021;
    case USE:
      goto L3667;
    default:
     break;
   }
  goto ret0;

 L32021: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L3510;
  goto ret0;

 L3510: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L3511;
  goto ret0;

 L3511: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3512;
  goto ret0;

 L3512: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 347;  /* udivmodsi4_1 */
    }
  goto ret0;

 L3667: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L3668;
    }
  goto ret0;

 L3668: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3669;
  goto ret0;

 L3669: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 353;  /* *udivmodsi4_noext */
    }
  goto ret0;

 L32014: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 3:
      goto L32022;
    case 2:
      goto L32023;
    default:
      break;
    }
  goto ret0;

 L32022: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 19)
    goto L8822;
  goto ret0;

 L8822: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8823;
    }
  goto ret0;

 L8823: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (tls_symbolic_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8824;
    }
  goto ret0;

 L8824: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (constant_call_address_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L8825;
    }
  goto ret0;

 L8825: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8826;
  goto ret0;

 L8826: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L8827;
    }
  goto ret0;

 L8827: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L8828;
  goto ret0;

 L8828: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[5] = x2;
      goto L8829;
    }
  goto ret0;

 L8829: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L8830;
  goto ret0;

 L8830: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12589 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU_TLS))
    {
      return 718;  /* *tls_global_dynamic_32_gnu */
    }
  goto ret0;

 L32023: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 20)
    goto L8852;
  goto ret0;

 L8852: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L8853;
    }
  goto ret0;

 L8853: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (constant_call_address_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L8854;
    }
  goto ret0;

 L8854: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8855;
  goto ret0;

 L8855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L8856;
    }
  goto ret0;

 L8856: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L8857;
  goto ret0;

 L8857: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L8858;
    }
  goto ret0;

 L8858: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L8859;
  goto ret0;

 L8859: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 12656 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU_TLS))
    {
      return 720;  /* *tls_local_dynamic_base_32_gnu */
    }
  goto ret0;

 L8879: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 20)
    goto L8880;
  goto ret0;

 L8880: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L8881;
    }
  goto ret0;

 L8881: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (constant_call_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L8882;
    }
  goto ret0;

 L8882: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == CONST)
    goto L8883;
  goto ret0;

 L8883: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 1
      && XINT (x4, 1) == 6)
    goto L8884;
  goto ret0;

 L8884: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (tls_symbolic_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L8885;
    }
  goto ret0;

 L8885: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8886;
  goto ret0;

 L8886: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L8887;
    }
  goto ret0;

 L8887: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L8888;
  goto ret0;

 L8888: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[5] = x2;
      goto L8889;
    }
  goto ret0;

 L8889: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L8890;
  goto ret0;

 L8890: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return 722;  /* *tls_local_dynamic_32_once */
    }
  goto ret0;

 L32016: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L32024;
    case 5:
      goto L32025;
    default:
      break;
    }
  goto ret0;

 L32024: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 2)
    goto L11001;
  goto ret0;

 L11001: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L11002;
    }
  goto ret0;

 L11002: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11003;
  goto ret0;

 L11003: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L11004;
  goto ret0;

 L11004: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MINUS)
    goto L11005;
  goto ret0;

 L11005: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L11006;
  goto ret0;

 L11006: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L11007;
    }
  goto ret0;

 L11007: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L11008;
  goto ret0;

 L11008: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L11009;
  goto ret0;

 L11009: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L11010;
  goto ret0;

 L11010: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L11011;
  goto ret0;

 L11011: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode))
    {
      return 914;  /* adjust_stack_and_probesi */
    }
  goto ret0;

 L32025: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 30)
    goto L23384;
  goto ret0;

 L23384: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (cmpxchg8b_pic_memory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L23385;
    }
  goto ret0;

 L23385: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23386;
    }
  goto ret0;

 L23386: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L23387;
    }
  goto ret0;

 L23387: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[5] = x3;
      goto L23388;
    }
  goto ret0;

 L23388: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (register_operand (x3, SImode))
    {
      operands[6] = x3;
      goto L23389;
    }
  goto ret0;

 L23389: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23390;
  goto ret0;

 L23390: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L23391;
    }
  goto ret0;

 L23391: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23392;
  goto ret0;

 L23392: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23393;
  goto ret0;

 L23393: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L23394;
  goto ret0;

 L23394: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[2]))
    goto L23395;
  goto ret0;

 L23395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23396;
  goto ret0;

 L23396: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23397;
  goto ret0;

 L23397: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L23398;
  goto ret0;

 L23398: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23399;
  goto ret0;

 L23399: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23400;
  goto ret0;

 L23400: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 424 "../../gcc/config/i386/sync.md"
(TARGET_CMPXCHG8B) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2024;  /* atomic_compare_and_swapdi_doubleword */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_74 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L1174;
    }
 L31997: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L1210;
    }
 L32003: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L3277;
    }
  goto ret0;

 L1174: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32033;
  x2 = XEXP (x1, 0);
  goto L31997;

 L32033: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L1175;
    case UNSPEC:
      goto L32036;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L31997;

 L1175: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1176;
    }
  x2 = XEXP (x1, 0);
  goto L31997;

 L1176: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1177;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L1177: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1178;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L1178: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L1179;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L1179: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L1180;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L1180: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L1181;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L1181: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[4] = x2;
      goto L1182;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L1182: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4584 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
    {
      return 170;  /* fix_truncdi_i387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L32036: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32038;
  x2 = XEXP (x1, 0);
  goto L31997;

 L32038: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9835;
    case 63L:
      goto L9985;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L31997;

 L9835: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9836;
    }
  x2 = XEXP (x1, 0);
  goto L31997;

 L9836: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9837;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9837: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9838;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9838: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9839;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9839: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9840;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9840: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L9841;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9841: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[4] = x2;
      goto L9842;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9842: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14965 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 826;  /* fistdi2_floor */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9985: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9986;
    }
  x2 = XEXP (x1, 0);
  goto L31997;

 L9986: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9987;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9987: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9988;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9988: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9989;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9989: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9990;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9990: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L9991;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9991: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[4] = x2;
      goto L9992;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L9992: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15223 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 837;  /* fistdi2_ceil */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L31997;

 L1210: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32040;
  x2 = XEXP (x1, 0);
  goto L32003;

 L32040: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L1211;
    case UNSPEC:
      goto L32043;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32003;

 L1211: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1212;
    }
  x2 = XEXP (x1, 0);
  goto L32003;

 L1212: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1213;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L1213: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1214;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L1214: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L1215;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L1215: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L1216;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L1216: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L1217;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L1217: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L1218;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L1218: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4599 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 171;  /* fix_truncdi_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L32043: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32045;
  x2 = XEXP (x1, 0);
  goto L32003;

 L32045: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9871;
    case 63L:
      goto L10021;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32003;

 L9871: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9872;
    }
  x2 = XEXP (x1, 0);
  goto L32003;

 L9872: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9873;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L9873: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9874;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L9874: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9875;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L9875: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9876;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L9876: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L9877;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L9877: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L9878;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L9878: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14980 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 827;  /* fistdi2_floor_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L10021: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10022;
    }
  x2 = XEXP (x1, 0);
  goto L32003;

 L10022: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10023;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L10023: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10024;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L10024: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10025;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L10025: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10026;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L10026: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L10027;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L10027: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L10028;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L10028: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15238 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations)
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 838;  /* fistdi2_ceil_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32003;

 L3277: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32047;
  goto ret0;

 L32047: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case DIV:
      goto L3278;
    case UDIV:
      goto L3530;
    case UNSPEC_VOLATILE:
      goto L32051;
    default:
     break;
   }
  goto ret0;

 L3278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3279;
    }
  goto ret0;

 L3279: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L3280;
    }
  goto ret0;

 L3280: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3281;
  goto ret0;

 L3281: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L3282;
    }
  goto ret0;

 L3282: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MOD)
    goto L3283;
  goto ret0;

 L3283: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3284;
  goto ret0;

 L3284: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3285;
  goto ret0;

 L3285: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L32053;
    case USE:
      goto L3444;
    default:
     break;
   }
  goto ret0;

 L32053: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L3286;
  goto ret0;

 L3286: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L3287;
  goto ret0;

 L3287: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3288;
  goto ret0;

 L3288: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 339;  /* divmoddi4_1 */
    }
  goto ret0;

 L3444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L3445;
    }
  goto ret0;

 L3445: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3446;
  goto ret0;

 L3446: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 345;  /* *divmoddi4_noext */
    }
  goto ret0;

 L3530: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L3531;
    }
  goto ret0;

 L3531: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L3532;
    }
  goto ret0;

 L3532: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3533;
  goto ret0;

 L3533: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L3534;
    }
  goto ret0;

 L3534: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UMOD)
    goto L3535;
  goto ret0;

 L3535: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3536;
  goto ret0;

 L3536: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3537;
  goto ret0;

 L3537: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L32054;
    case USE:
      goto L3696;
    default:
     break;
   }
  goto ret0;

 L32054: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L3538;
  goto ret0;

 L3538: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L3539;
  goto ret0;

 L3539: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3540;
  goto ret0;

 L3540: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 348;  /* udivmoddi4_1 */
    }
  goto ret0;

 L3696: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L3697;
    }
  goto ret0;

 L3697: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3698;
  goto ret0;

 L3698: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return 354;  /* *udivmoddi4_noext */
    }
  goto ret0;

 L32051: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 1:
      goto L32055;
    case 5:
      goto L32056;
    default:
      break;
    }
  goto ret0;

 L32055: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 2)
    goto L11016;
  goto ret0;

 L11016: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L11017;
    }
  goto ret0;

 L11017: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L11018;
  goto ret0;

 L11018: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L11019;
  goto ret0;

 L11019: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MINUS)
    goto L11020;
  goto ret0;

 L11020: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L11021;
  goto ret0;

 L11021: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L11022;
    }
  goto ret0;

 L11022: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L11023;
  goto ret0;

 L11023: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L11024;
  goto ret0;

 L11024: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L11025;
  goto ret0;

 L11025: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L11026;
  goto ret0;

 L11026: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH
      && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode))
    {
      return 915;  /* adjust_stack_and_probedi */
    }
  goto ret0;

 L32056: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 30)
    goto L23429;
  goto ret0;

 L23429: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (cmpxchg8b_pic_memory_operand (x3, TImode))
    {
      operands[2] = x3;
      goto L23430;
    }
  goto ret0;

 L23430: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L23431;
    }
  goto ret0;

 L23431: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, DImode))
    {
      operands[4] = x3;
      goto L23432;
    }
  goto ret0;

 L23432: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, DImode))
    {
      operands[5] = x3;
      goto L23433;
    }
  goto ret0;

 L23433: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (register_operand (x3, DImode))
    {
      operands[6] = x3;
      goto L23434;
    }
  goto ret0;

 L23434: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23435;
  goto ret0;

 L23435: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L23436;
    }
  goto ret0;

 L23436: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23437;
  goto ret0;

 L23437: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23438;
  goto ret0;

 L23438: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L23439;
  goto ret0;

 L23439: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[2]))
    goto L23440;
  goto ret0;

 L23440: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23441;
  goto ret0;

 L23441: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23442;
  goto ret0;

 L23442: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L23443;
  goto ret0;

 L23443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23444;
  goto ret0;

 L23444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23445;
  goto ret0;

 L23445: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 424 "../../gcc/config/i386/sync.md"
(TARGET_CMPXCHG16B) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 1;
      return 2025;  /* atomic_compare_and_swapti_doubleword */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_75 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L31995;
    case DImode:
      goto L31996;
    case HImode:
      goto L31998;
    case SFmode:
      goto L32000;
    case DFmode:
      goto L32001;
    case XFmode:
      goto L32002;
    case CCmode:
      goto L32005;
    default:
      break;
    }
 L7229: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PC)
    goto L7230;
  goto ret0;

 L31995: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L970;
    }
 L31999: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L1254;
    }
  goto L7229;

 L970: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32006;
  x2 = XEXP (x1, 0);
  goto L31999;

 L32006: ATTRIBUTE_UNUSED_LABEL
  tem = recog_73 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  x2 = XEXP (x1, 0);
  goto L31999;

 L1254: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32026;
  x2 = XEXP (x1, 0);
  goto L7229;

 L32026: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L1255;
    case UNSPEC:
      goto L32029;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7229;

 L1255: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1256;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L1256: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1257;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1257: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1258;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1258: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L1259;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1259: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L1260;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1260: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L1261;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1261: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L1262;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1262: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4653 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
    {
      return 175;  /* fix_truncsi_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L32029: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32031;
  x2 = XEXP (x1, 0);
  goto L7229;

 L32031: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9915;
    case 63L:
      goto L10065;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L9915: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9916;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L9916: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9917;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L9917: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9918;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L9918: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9919;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L9919: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9920;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L9920: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L9921;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L9921: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L9922;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L9922: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15038 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 831;  /* fistsi2_floor_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L10065: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10066;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L10066: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10067;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L10067: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10068;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L10068: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10069;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L10069: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10070;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L10070: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L10071;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L10071: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L10072;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L10072: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15296 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 842;  /* fistsi2_ceil_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L31996: ATTRIBUTE_UNUSED_LABEL
  tem = recog_74 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L7229;

 L31998: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L1242;
    }
 L32004: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L3377;
    }
  goto L7229;

 L1242: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L32057;
  x2 = XEXP (x1, 0);
  goto L32004;

 L32057: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L1243;
    case UNSPEC:
      goto L32060;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32004;

 L1243: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1244;
    }
  x2 = XEXP (x1, 0);
  goto L32004;

 L1244: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1245;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L1245: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1246;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L1246: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L1247;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L1247: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L1248;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L1248: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L1249;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L1249: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L1250;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L1250: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4653 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
    {
      return 174;  /* fix_trunchi_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L32060: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32062;
  x2 = XEXP (x1, 0);
  goto L32004;

 L32062: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9903;
    case 63L:
      goto L10053;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32004;

 L9903: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9904;
    }
  x2 = XEXP (x1, 0);
  goto L32004;

 L9904: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9905;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L9905: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9906;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L9906: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9907;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L9907: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9908;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L9908: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L9909;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L9909: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L9910;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L9910: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15038 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 830;  /* fisthi2_floor_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L10053: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10054;
    }
  x2 = XEXP (x1, 0);
  goto L32004;

 L10054: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10055;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L10055: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10056;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L10056: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10057;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L10057: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10058;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L10058: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L10059;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L10059: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L10060;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L10060: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15296 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 841;  /* fisthi2_ceil_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32004;

 L3377: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L32064;
  x2 = XEXP (x1, 0);
  goto L7229;

 L32064: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case DIV:
      goto L3378;
    case UDIV:
      goto L3630;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L7229;

 L3378: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L3379;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L3379: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L3380;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L3380: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3381;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3381: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L3382;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3382: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MOD)
    goto L3383;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3383: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3384;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3384: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3385;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3385: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L3386;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3386: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L3387;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3387: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3388;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3388: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
    {
      return 343;  /* *divmodhi4_noext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3630: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L3631;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L3631: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L3632;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L3632: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L3633;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3633: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L3634;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3634: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UMOD)
    goto L3635;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3635: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L3636;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3636: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L3637;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3637: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L3638;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3638: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L3639;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3639: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L3640;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L3640: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
    {
      return 352;  /* *udivmodhi4_noext */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L32000: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L1633;
    }
  goto L7229;

 L1633: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == FLOAT)
    goto L1634;
  x2 = XEXP (x1, 0);
  goto L7229;

 L1634: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L1635;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L1635: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1636;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1636: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L1637;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1637: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1638;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1638: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L1639;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1639: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L1640;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1640: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1641;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1641: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5291 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)))
    {
      return 237;  /* floatdisf2_i387_with_xmm */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L32001: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L1645;
    }
  goto L7229;

 L1645: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == FLOAT)
    goto L1646;
  x2 = XEXP (x1, 0);
  goto L7229;

 L1646: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L1647;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L1647: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1648;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1648: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L1649;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1649: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1650;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1650: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L1651;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1651: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L1652;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1652: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1653;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1653: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5291 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)))
    {
      return 238;  /* floatdidf2_i387_with_xmm */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L32002: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L1657;
    }
  goto L7229;

 L1657: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == FLOAT)
    goto L1658;
  x2 = XEXP (x1, 0);
  goto L7229;

 L1658: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L1659;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L1659: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L1660;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1660: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L1661;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1661: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L1662;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1662: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L1663;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1663: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L1664;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1664: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L1665;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L1665: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5291 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)))
    {
      return 239;  /* floatdixf2_i387_with_xmm */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L32005: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L8776;
  goto L7229;

 L8776: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 26)
    goto L8777;
  x2 = XEXP (x1, 0);
  goto L7229;

 L8777: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L8778;
    }
  x2 = XEXP (x1, 0);
  goto L7229;

 L8778: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L8779;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L8779: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L8780;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L8780: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L8781;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L8781: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L8782;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L8782: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L8783;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L8783: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L8784;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L8784: ATTRIBUTE_UNUSED_LABEL
  if (
#line 12515 "../../gcc/config/i386/i386.md"
(! TARGET_POPCNT))
    {
      return 715;  /* paritydi2_cmp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L7229;

 L7230: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == IF_THEN_ELSE)
    goto L7231;
  goto ret0;

 L7231: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_fp_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L7232;
    }
 L7363: ATTRIBUTE_UNUSED_LABEL
  if (ix86_swapped_fp_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L7364;
    }
  goto ret0;

 L7232: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L7233;
    }
  goto L7363;

 L7233: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonimmediate_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L7234;
    }
 L7286: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L7287;
    }
  if (const0_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L7340;
    }
  goto L7363;

 L7234: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case LABEL_REF:
      goto L7235;
    case PC:
      goto L7261;
    default:
     break;
   }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7235: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L7236;

 L7236: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7237;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7237: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7238;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7238: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L7239;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7239: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7240;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7240: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7241;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7241: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7242;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7242: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L7243;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7243: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10935 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (GET_MODE (operands[1]) == SFmode || GET_MODE (operands[1]) == DFmode)
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && SELECT_CC_MODE (GET_CODE (operands[0]),
		      operands[1], operands[2]) == CCFPmode
   && !TARGET_CMOVE))
    {
      return 595;  /* *fp_jcc_1_387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7261: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7262;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7262: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L7263;

 L7263: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7264;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7264: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L7265;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7265: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7266;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7266: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7267;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7267: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7268;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7268: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L7269;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7269: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10953 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (GET_MODE (operands[1]) == SFmode || GET_MODE (operands[1]) == DFmode)
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && SELECT_CC_MODE (GET_CODE (operands[0]),
		      operands[1], operands[2]) == CCFPmode
   && !TARGET_CMOVE))
    {
      return 596;  /* *fp_jcc_1r_387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  goto L7286;

 L7287: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case LABEL_REF:
      goto L7288;
    case PC:
      goto L7314;
    default:
     break;
   }
  x3 = XEXP (x2, 0);
  goto L7363;

 L7288: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L7289;

 L7289: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7290;
  x3 = XEXP (x2, 0);
  goto L7363;

 L7290: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7291;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7291: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L7292;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7292: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7293;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7293: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7294;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7294: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7295;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7295: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L7296;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7296: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10971 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && !TARGET_CMOVE))
    {
      return 597;  /* *fp_jcc_2_387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7314: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7315;
  x3 = XEXP (x2, 0);
  goto L7363;

 L7315: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L7316;

 L7316: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7317;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7317: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L7318;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7318: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7319;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7319: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7320;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7320: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7321;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7321: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L7322;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7322: ATTRIBUTE_UNUSED_LABEL
  if (
#line 10986 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && !TARGET_CMOVE))
    {
      return 598;  /* *fp_jcc_2r_387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7340: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7341;
  x3 = XEXP (x2, 0);
  goto L7363;

 L7341: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L7342;

 L7342: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7343;
  x3 = XEXP (x2, 0);
  goto L7363;

 L7343: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7344;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L7345;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7345: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7347;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7347: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7348;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7348: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L7349;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7349: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11001 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && GET_MODE (operands[1]) == GET_MODE (operands[2])
   && SELECT_CC_MODE (GET_CODE (operands[0]),
		      operands[1], operands[2]) == CCFPmode
   && !TARGET_CMOVE))
    {
      return 599;  /* *fp_jcc_3_387 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L7363;

 L7364: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (float_operator (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L7365;
    }
  goto ret0;

 L7365: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  switch (GET_MODE (x5))
    {
    case HImode:
      goto L32066;
    case SImode:
      goto L32067;
    default:
      break;
    }
  goto ret0;

 L32066: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x5, HImode))
    {
      operands[2] = x5;
      goto L7366;
    }
  goto ret0;

 L7366: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L7367;
    }
  goto ret0;

 L7367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7368;
  goto ret0;

 L7368: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[4] = x4;
  goto L7369;

 L7369: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7370;
  goto ret0;

 L7370: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7371;
  goto ret0;

 L7371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L7372;
  goto ret0;

 L7372: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7373;
  goto ret0;

 L7373: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7374;
  goto ret0;

 L7374: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7375;
  goto ret0;

 L7375: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[5] = x2;
      goto L7376;
    }
  goto ret0;

 L7376: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11060 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[3]))
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[1]) == GET_MODE (operands[3])
   && ix86_fp_compare_mode (swap_condition (GET_CODE (operands[0]))) == CCFPmode
   && !TARGET_CMOVE))
    {
      return 600;  /* *fp_jcc_4_hi_387 */
    }
  goto ret0;

 L32067: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L7394;
    }
  goto ret0;

 L7394: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L7395;
    }
  goto ret0;

 L7395: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L7396;
  goto ret0;

 L7396: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[4] = x4;
  goto L7397;

 L7397: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L7398;
  goto ret0;

 L7398: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L7399;
  goto ret0;

 L7399: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L7400;
  goto ret0;

 L7400: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7401;
  goto ret0;

 L7401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L7402;
  goto ret0;

 L7402: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7403;
  goto ret0;

 L7403: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[5] = x2;
      goto L7404;
    }
  goto ret0;

 L7404: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11060 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[3]))
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[1]) == GET_MODE (operands[3])
   && ix86_fp_compare_mode (swap_condition (GET_CODE (operands[0]))) == CCFPmode
   && !TARGET_CMOVE))
    {
      return 601;  /* *fp_jcc_4_si_387 */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_76 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L1196;
    }
 L32069: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L10264;
    }
 L32071: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10465;
    }
 L32074: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L23404;
    }
  goto ret0;

 L1196: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32075;
  x2 = XEXP (x1, 0);
  goto L32069;

 L32075: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L1197;
    case UNSPEC:
      goto L32078;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32069;

 L1197: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L1198;
    }
  x2 = XEXP (x1, 0);
  goto L32069;

 L1198: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L1199;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L1199: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L1200;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L1200: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L1201;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L1201: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L1202;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L1202: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L1203;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L1203: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L1204;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L1204: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L1205;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L1205: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[5] = x2;
      goto L1206;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L1206: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4599 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
    {
      return 171;  /* fix_truncdi_i387_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L32078: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32080;
  x2 = XEXP (x1, 0);
  goto L32069;

 L32080: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L9857;
    case 63L:
      goto L10007;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32069;

 L9857: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L9858;
    }
  x2 = XEXP (x1, 0);
  goto L32069;

 L9858: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L9859;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L9859: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L9860;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L9860: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L9861;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L9861: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L9862;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L9862: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L9863;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L9863: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L9864;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L9864: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L9865;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L9865: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[5] = x2;
      goto L9866;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L9866: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14980 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 827;  /* fistdi2_floor_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10007: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L10008;
    }
  x2 = XEXP (x1, 0);
  goto L32069;

 L10008: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10009;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10009: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L10010;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10010: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10011;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L10012;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10012: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L10013;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10013: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L10014;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10014: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L10015;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10015: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, XFmode))
    {
      operands[5] = x2;
      goto L10016;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10016: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15238 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
    {
      return 838;  /* fistdi2_ceil_with_temp */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32069;

 L10264: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10265;
  x2 = XEXP (x1, 0);
  goto L32071;

 L10265: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10266;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10266: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10267;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10268;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10268: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L32082;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L32082: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ASHIFT)
    goto L10269;
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10365;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10269: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[5] = x4;
      goto L10270;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10270: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L32084;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L32084: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x4, 0) == XWINT (x4, 0))
    switch ((int) XWINT (x4, 0))
      {
      case 3L:
        goto L10271;
      case 2L:
        goto L10321;
      default:
        break;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10271: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10272;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10272: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10273;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10273: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10274;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10274: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10275;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10275: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ASHIFT)
    goto L10276;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10276: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[5]))
    goto L10277;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10277: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L10278;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[4] = x3;
      goto L10279;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10279: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L10280;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10281;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10281: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10282;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10282: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10283;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10283: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[4]))
    goto L10284;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10284: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10285;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10285: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[5])
      && 
#line 15822 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])))
    {
      return 861;  /* *rep_movdi_rex64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10321: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10322;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10322: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10323;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10323: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10324;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10324: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10325;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10325: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ASHIFT)
    goto L10326;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10326: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[5]))
    goto L10327;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10327: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L10328;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10328: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[4] = x3;
      goto L10329;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10329: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L10330;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10330: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10331;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10331: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10332;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10332: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10333;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10333: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[4]))
    goto L10334;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10334: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10335;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10335: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[5])
      && (
#line 15842 "../../gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 863;  /* *rep_movsi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10365: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[5] = x3;
      goto L10366;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10366: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10367;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10368;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10368: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10369;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10369: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[4] = x3;
      goto L10370;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10370: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[5]))
    goto L10371;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10371: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L10372;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10372: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10373;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10373: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10374;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10374: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10375;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10375: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[4]))
    goto L10376;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10376: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10377;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10377: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[5])
      && (
#line 15859 "../../gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 865;  /* *rep_movqi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32071;

 L10465: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10466;
  x2 = XEXP (x1, 0);
  goto L32074;

 L10466: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10467;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10467: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10468;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10468: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L10469;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10469: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L32086;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L32086: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ASHIFT)
    goto L10470;
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10544;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10470: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[4] = x4;
      goto L10471;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10471: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT)
    goto L32088;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L32088: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x4, 0) == XWINT (x4, 0))
    switch ((int) XWINT (x4, 0))
      {
      case 3L:
        goto L10472;
      case 2L:
        goto L10510;
      default:
        break;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10472: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10473;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10473: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10474;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10474: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10475;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10475: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10476;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10476: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10477;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10477: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE)
    goto L10478;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10478: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L10479;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10479: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10480;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10480: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[4])
      && 
#line 15999 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])))
    {
      return 873;  /* *rep_stosdi_rex64 */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10510: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L10511;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10511: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10512;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10512: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10513;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10513: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10514;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10514: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10515;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10515: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE)
    goto L10516;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10516: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L10517;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10517: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10518;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10518: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[4])
      && (
#line 16017 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 875;  /* *rep_stossi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10544: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      operands[4] = x3;
      goto L10545;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10545: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10546;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10546: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10547;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10547: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10548;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10548: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10549;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10549: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE)
    goto L10550;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10550: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L10551;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10551: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10552;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L10552: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[4])
      && (
#line 16033 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 877;  /* *rep_stosqi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32074;

 L23404: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 5
      && XINT (x2, 1) == 30)
    goto L23405;
  goto ret0;

 L23405: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (cmpxchg8b_pic_memory_operand (x3, TImode))
    {
      operands[2] = x3;
      goto L23406;
    }
  goto ret0;

 L23406: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L23407;
    }
  goto ret0;

 L23407: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, DImode))
    {
      operands[4] = x3;
      goto L23408;
    }
  goto ret0;

 L23408: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, DImode))
    {
      operands[5] = x3;
      goto L23409;
    }
  goto ret0;

 L23409: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (register_operand (x3, DImode))
    {
      operands[6] = x3;
      goto L23410;
    }
  goto ret0;

 L23410: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23411;
  goto ret0;

 L23411: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L23412;
    }
  goto ret0;

 L23412: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23413;
  goto ret0;

 L23413: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23414;
  goto ret0;

 L23414: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L23415;
  goto ret0;

 L23415: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[2]))
    goto L23416;
  goto ret0;

 L23416: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23417;
  goto ret0;

 L23417: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23418;
  goto ret0;

 L23418: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L23419;
  goto ret0;

 L23419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23420;
  goto ret0;

 L23420: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23421;
  goto ret0;

 L23421: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23422;
  goto ret0;

 L23422: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L23423;
  goto ret0;

 L23423: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[7] = x2;
      goto L23424;
    }
  goto ret0;

 L23424: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 424 "../../gcc/config/i386/sync.md"
(TARGET_CMPXCHG16B) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 2025;  /* atomic_compare_and_swapti_doubleword */
    }
  goto ret0;
 ret0:
  return -1;
}

static int
recog_77 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  switch (XVECLEN (x0, 0))
    {
    case 2:
      goto L145;
    case 3:
      goto L822;
    case 4:
      goto L968;
    case 5:
      goto L1194;
    case 15:
      goto L7470;
    case 14:
      goto L7504;
    case 6:
      goto L10554;
    default:
      break;
    }
 L28440: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x0, 0) >= 1
      && emms_operation (x0, VOIDmode))
    {
      operands[0] = x0;
      goto L12191;
    }
 L28445: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x0, 0) >= 1
      && vzeroall_operation (x0, VOIDmode))
    {
      operands[0] = x0;
      goto L20308;
    }
  goto ret0;

 L145: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L146;
    case CALL:
      goto L7445;
    case SIMPLE_RETURN:
      goto L7828;
    default:
     break;
   }
  goto L28440;

 L146: ATTRIBUTE_UNUSED_LABEL
  tem = recog_68 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L28440;

 L7445: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L7446;
  goto L28440;

 L7446: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L31790;
    case DImode:
      goto L31791;
    default:
      break;
    }
  goto L28440;

 L31790: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L7447;
    }
 L31792: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L7545;
    }
 L31794: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L7584;
    }
 L31795: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L7608;
    }
  goto L28440;

 L7447: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7448;

 L7448: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7449;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31792;

 L7449: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L7450;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31792;

 L7450: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11275 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 607;  /* *call_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31792;

 L7545: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7546;

 L7546: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7547;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31794;

 L7547: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L7548;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31794;

 L7548: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11339 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 613;  /* *sibcall_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31794;

 L7584: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7585;

 L7585: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7586;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31795;

 L7586: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L7587;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31795;

 L7587: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7588;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31795;

 L7588: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L7589;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31795;

 L7589: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L7590;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31795;

 L7590: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11387 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && !SIBLING_CALL_P (insn)))
    {
      return 618;  /* *call_pop */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31795;

 L7608: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7609;

 L7609: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7610;
  goto L28440;

 L7610: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L7611;
  goto L28440;

 L7611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7612;
  goto L28440;

 L7612: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L7613;
  goto L28440;

 L7613: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L7614;
    }
  goto L28440;

 L7614: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11412 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && SIBLING_CALL_P (insn)))
    {
      return 620;  /* *sibcall_pop */
    }
  goto L28440;

 L31791: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L7455;
    }
 L31793: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L7553;
    }
  goto L28440;

 L7455: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7456;

 L7456: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC)
    goto L31796;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31793;

 L31796: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L31798;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31793;

 L31798: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 35L:
      goto L7457;
    case 34L:
      goto L7540;
    default:
      break;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31793;

 L7457: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L7458;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31793;

 L7458: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11275 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 608;  /* *call_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31793;

 L7540: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11330 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !SIBLING_CALL_P (insn))
      && pnum_clobbers != NULL)
    {
      *pnum_clobbers = 12;
      return 612;  /* *call_rex64_ms_sysv */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31793;

 L7553: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7554;

 L7554: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7555;
  goto L28440;

 L7555: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L7556;
    }
  goto L28440;

 L7556: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11339 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 614;  /* *sibcall_vzeroupper */
    }
  goto L28440;

 L7828: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L31800;
    case USE:
      goto L7838;
    default:
     break;
   }
  goto L28440;

 L31800: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 30)
    goto L7829;
  goto L28440;

 L7829: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11730 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return 639;  /* simple_return_internal_long */
    }
  goto L28440;

 L7838: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L7839;
    }
  if (const_int_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L7834;
    }
  goto L28440;

 L7839: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11751 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return 641;  /* simple_return_indirect_internal */
    }
  goto L28440;

 L7834: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11741 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return 640;  /* simple_return_pop_internal */
    }
  goto L28440;

 L822: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L823;
    case CALL:
      goto L7569;
    default:
     break;
   }
  goto L28440;

 L823: ATTRIBUTE_UNUSED_LABEL
  tem = recog_72 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L28440;

 L7569: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L7570;
  goto L28440;

 L7570: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L31993;
  goto L28440;

 L31993: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L7571;
    }
 L31994: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L7595;
    }
  goto L28440;

 L7571: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7572;

 L7572: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7573;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31994;

 L7573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L7574;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31994;

 L7574: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7575;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31994;

 L7575: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L7576;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31994;

 L7576: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L7577;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31994;

 L7577: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7578;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31994;

 L7578: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L7579;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31994;

 L7579: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11374 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !TARGET_64BIT && !SIBLING_CALL_P (insn)))
    {
      return 617;  /* *call_pop_vzeroupper */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L31994;

 L7595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7596;

 L7596: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L7597;
  goto L28440;

 L7597: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L7598;
  goto L28440;

 L7598: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L7599;
  goto L28440;

 L7599: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L7600;
  goto L28440;

 L7600: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L7601;
    }
  goto L28440;

 L7601: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7602;
  goto L28440;

 L7602: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L7603;
    }
  goto L28440;

 L7603: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11399 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !TARGET_64BIT && SIBLING_CALL_P (insn)))
    {
      return 619;  /* *sibcall_pop_vzeroupper */
    }
  goto L28440;

 L968: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L969;
  goto L28440;

 L969: ATTRIBUTE_UNUSED_LABEL
  tem = recog_75 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L28440;

 L1194: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L1195;
  goto L28440;

 L1195: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case DImode:
      goto L32068;
    case SImode:
      goto L32070;
    default:
      break;
    }
  goto L28440;

 L32068: ATTRIBUTE_UNUSED_LABEL
  tem = recog_76 (x0, insn, pnum_clobbers);
  if (tem >= 0)
    return tem;
  goto L28440;

 L32070: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L10289;
    }
 L32072: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10484;
    }
 L32073: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L23359;
    }
  goto L28440;

 L10289: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10290;
  x2 = XEXP (x1, 0);
  goto L32072;

 L10290: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10291;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10291: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10292;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10292: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10293;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10293: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32090;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L32090: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ASHIFT)
    goto L10294;
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10344;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10294: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L10295;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10295: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L10296;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10296: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10297;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10297: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10298;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10298: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10299;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10299: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10300;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10300: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == ASHIFT)
    goto L10301;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10301: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[5]))
    goto L10302;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10302: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L10303;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10303: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L10304;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10304: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L10305;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10306;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10306: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10307;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10307: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10308;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10308: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[4]))
    goto L10309;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10309: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10310;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10310: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[5])
      && (
#line 15842 "../../gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 862;  /* *rep_movsi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10344: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[5] = x3;
      goto L10345;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10345: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10347;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10348;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10348: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L10349;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10349: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[5]))
    goto L10350;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10350: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L10351;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10351: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10352;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10352: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10353;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10353: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10354;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10354: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[4]))
    goto L10355;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10355: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10356;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10356: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[5])
      && (
#line 15859 "../../gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 864;  /* *rep_movqi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32072;

 L10484: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10485;
  x2 = XEXP (x1, 0);
  goto L32073;

 L10485: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L10486;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10486: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10487;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10487: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L10488;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10488: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32092;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L32092: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ASHIFT)
    goto L10489;
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10527;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10489: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[4] = x4;
      goto L10490;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10490: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L10491;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10491: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L10492;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10492: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10493;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10493: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10494;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10494: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10495;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10495: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10496;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10496: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE)
    goto L10497;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10497: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L10498;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10498: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10499;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10499: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[4])
      && (
#line 16017 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 874;  /* *rep_stossi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10527: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L10528;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10528: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L10529;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L10530;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10530: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L10531;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10531: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10532;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10532: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE)
    goto L10533;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10533: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      operands[2] = x2;
      goto L10534;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10534: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE)
    goto L10535;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L10535: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[4])
      && (
#line 16033 "../../gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 876;  /* *rep_stosqi */
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32073;

 L23359: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 5
      && XINT (x2, 1) == 30)
    goto L23360;
  goto L28440;

 L23360: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (cmpxchg8b_pic_memory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L23361;
    }
  goto L28440;

 L23361: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L23362;
    }
  goto L28440;

 L23362: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L23363;
    }
  goto L28440;

 L23363: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[5] = x3;
      goto L23364;
    }
  goto L28440;

 L23364: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (register_operand (x3, SImode))
    {
      operands[6] = x3;
      goto L23365;
    }
  goto L28440;

 L23365: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L23366;
  goto L28440;

 L23366: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L23367;
    }
  goto L28440;

 L23367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23368;
  goto L28440;

 L23368: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23369;
  goto L28440;

 L23369: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L23370;
  goto L28440;

 L23370: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[2]))
    goto L23371;
  goto L28440;

 L23371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23372;
  goto L28440;

 L23372: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23373;
  goto L28440;

 L23373: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == SET)
    goto L23374;
  goto L28440;

 L23374: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L23375;
  goto L28440;

 L23375: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == UNSPEC_VOLATILE
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 30)
    goto L23376;
  goto L28440;

 L23376: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L23377;
  goto L28440;

 L23377: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L23378;
  goto L28440;

 L23378: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[7] = x2;
      goto L23379;
    }
  goto L28440;

 L23379: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 424 "../../gcc/config/i386/sync.md"
(TARGET_CMPXCHG8B) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return 2024;  /* atomic_compare_and_swapdi_doubleword */
    }
  goto L28440;

 L7470: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    case CALL:
      goto L7471;
    case SET:
      goto L7685;
    default:
     break;
   }
  goto L28440;

 L7471: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L7472;
  goto L28440;

 L7472: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (call_insn_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L7473;
    }
  goto L28440;

 L7473: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7474;

 L7474: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 34)
    goto L7475;
  goto L28440;

 L7475: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7476;
  goto L28440;

 L7476: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7477;
  goto L28440;

 L7477: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 27)
    goto L7478;
  goto L28440;

 L7478: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7479;
  goto L28440;

 L7479: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 28)
    goto L7480;
  goto L28440;

 L7480: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L7481;
  goto L28440;

 L7481: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 45)
    goto L7482;
  goto L28440;

 L7482: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L7483;
  goto L28440;

 L7483: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 46)
    goto L7484;
  goto L28440;

 L7484: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER)
    goto L7485;
  goto L28440;

 L7485: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 47)
    goto L7486;
  goto L28440;

 L7486: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER)
    goto L7487;
  goto L28440;

 L7487: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 48)
    goto L7488;
  goto L28440;

 L7488: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == CLOBBER)
    goto L7489;
  goto L28440;

 L7489: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 49)
    goto L7490;
  goto L28440;

 L7490: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == CLOBBER)
    goto L7491;
  goto L28440;

 L7491: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 50)
    goto L7492;
  goto L28440;

 L7492: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == CLOBBER)
    goto L7493;
  goto L28440;

 L7493: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 51)
    goto L7494;
  goto L28440;

 L7494: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == CLOBBER)
    goto L7495;
  goto L28440;

 L7495: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 52)
    goto L7496;
  goto L28440;

 L7496: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 12);
  if (GET_CODE (x1) == CLOBBER)
    goto L7497;
  goto L28440;

 L7497: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 4)
    goto L7498;
  goto L28440;

 L7498: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 13);
  if (GET_CODE (x1) == CLOBBER)
    goto L7499;
  goto L28440;

 L7499: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 5)
    goto L7500;
  goto L28440;

 L7500: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 14);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7501;
  goto L28440;

 L7501: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L7502;
    }
  goto L28440;

 L7502: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11307 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && TARGET_64BIT && !SIBLING_CALL_P (insn)))
    {
      return 611;  /* *call_rex64_ms_sysv_vzeroupper */
    }
  goto L28440;

 L7685: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  goto L7686;

 L7686: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL)
    goto L7687;
  goto L28440;

 L7687: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MEM)
    goto L7688;
  goto L28440;

 L7688: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (call_insn_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L7689;
    }
  goto L28440;

 L7689: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7690;

 L7690: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 34)
    goto L7691;
  goto L28440;

 L7691: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7692;
  goto L28440;

 L7692: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7693;
  goto L28440;

 L7693: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 27)
    goto L7694;
  goto L28440;

 L7694: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7695;
  goto L28440;

 L7695: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 28)
    goto L7696;
  goto L28440;

 L7696: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L7697;
  goto L28440;

 L7697: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 45)
    goto L7698;
  goto L28440;

 L7698: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L7699;
  goto L28440;

 L7699: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 46)
    goto L7700;
  goto L28440;

 L7700: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER)
    goto L7701;
  goto L28440;

 L7701: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 47)
    goto L7702;
  goto L28440;

 L7702: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER)
    goto L7703;
  goto L28440;

 L7703: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 48)
    goto L7704;
  goto L28440;

 L7704: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == CLOBBER)
    goto L7705;
  goto L28440;

 L7705: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 49)
    goto L7706;
  goto L28440;

 L7706: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == CLOBBER)
    goto L7707;
  goto L28440;

 L7707: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 50)
    goto L7708;
  goto L28440;

 L7708: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == CLOBBER)
    goto L7709;
  goto L28440;

 L7709: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 51)
    goto L7710;
  goto L28440;

 L7710: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == CLOBBER)
    goto L7711;
  goto L28440;

 L7711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 52)
    goto L7712;
  goto L28440;

 L7712: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 12);
  if (GET_CODE (x1) == CLOBBER)
    goto L7713;
  goto L28440;

 L7713: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 4)
    goto L7714;
  goto L28440;

 L7714: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 13);
  if (GET_CODE (x1) == CLOBBER)
    goto L7715;
  goto L28440;

 L7715: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 5)
    goto L7716;
  goto L28440;

 L7716: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 14);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L7717;
  goto L28440;

 L7717: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L7718;
    }
  goto L28440;

 L7718: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11503 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && TARGET_64BIT && !SIBLING_CALL_P (insn)))
    {
      return 629;  /* *call_value_rex64_ms_sysv_vzeroupper */
    }
  goto L28440;

 L7504: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    case CALL:
      goto L7505;
    case SET:
      goto L7721;
    default:
     break;
   }
  goto L28440;

 L7505: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L7506;
  goto L28440;

 L7506: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (call_insn_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L7507;
    }
  goto L28440;

 L7507: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L7508;

 L7508: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 34)
    goto L7509;
  goto L28440;

 L7509: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7510;
  goto L28440;

 L7510: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7511;
  goto L28440;

 L7511: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 27)
    goto L7512;
  goto L28440;

 L7512: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7513;
  goto L28440;

 L7513: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 28)
    goto L7514;
  goto L28440;

 L7514: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L7515;
  goto L28440;

 L7515: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 45)
    goto L7516;
  goto L28440;

 L7516: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L7517;
  goto L28440;

 L7517: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 46)
    goto L7518;
  goto L28440;

 L7518: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER)
    goto L7519;
  goto L28440;

 L7519: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 47)
    goto L7520;
  goto L28440;

 L7520: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER)
    goto L7521;
  goto L28440;

 L7521: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 48)
    goto L7522;
  goto L28440;

 L7522: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == CLOBBER)
    goto L7523;
  goto L28440;

 L7523: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 49)
    goto L7524;
  goto L28440;

 L7524: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == CLOBBER)
    goto L7525;
  goto L28440;

 L7525: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 50)
    goto L7526;
  goto L28440;

 L7526: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == CLOBBER)
    goto L7527;
  goto L28440;

 L7527: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 51)
    goto L7528;
  goto L28440;

 L7528: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == CLOBBER)
    goto L7529;
  goto L28440;

 L7529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 52)
    goto L7530;
  goto L28440;

 L7530: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 12);
  if (GET_CODE (x1) == CLOBBER)
    goto L7531;
  goto L28440;

 L7531: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 4)
    goto L7532;
  goto L28440;

 L7532: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 13);
  if (GET_CODE (x1) == CLOBBER)
    goto L7533;
  goto L28440;

 L7533: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 5
      && 
#line 11330 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !SIBLING_CALL_P (insn)))
    {
      return 612;  /* *call_rex64_ms_sysv */
    }
  goto L28440;

 L7721: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  goto L7722;

 L7722: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL)
    goto L7723;
  goto L28440;

 L7723: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MEM)
    goto L7724;
  goto L28440;

 L7724: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (call_insn_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L7725;
    }
  goto L28440;

 L7725: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L7726;

 L7726: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 34)
    goto L7727;
  goto L28440;

 L7727: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L7728;
  goto L28440;

 L7728: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L7729;
  goto L28440;

 L7729: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 27)
    goto L7730;
  goto L28440;

 L7730: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L7731;
  goto L28440;

 L7731: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 28)
    goto L7732;
  goto L28440;

 L7732: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L7733;
  goto L28440;

 L7733: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 45)
    goto L7734;
  goto L28440;

 L7734: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L7735;
  goto L28440;

 L7735: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 46)
    goto L7736;
  goto L28440;

 L7736: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER)
    goto L7737;
  goto L28440;

 L7737: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 47)
    goto L7738;
  goto L28440;

 L7738: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER)
    goto L7739;
  goto L28440;

 L7739: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 48)
    goto L7740;
  goto L28440;

 L7740: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == CLOBBER)
    goto L7741;
  goto L28440;

 L7741: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 49)
    goto L7742;
  goto L28440;

 L7742: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == CLOBBER)
    goto L7743;
  goto L28440;

 L7743: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 50)
    goto L7744;
  goto L28440;

 L7744: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == CLOBBER)
    goto L7745;
  goto L28440;

 L7745: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 51)
    goto L7746;
  goto L28440;

 L7746: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == CLOBBER)
    goto L7747;
  goto L28440;

 L7747: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 52)
    goto L7748;
  goto L28440;

 L7748: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 12);
  if (GET_CODE (x1) == CLOBBER)
    goto L7749;
  goto L28440;

 L7749: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 4)
    goto L7750;
  goto L28440;

 L7750: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 13);
  if (GET_CODE (x1) == CLOBBER)
    goto L7751;
  goto L28440;

 L7751: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 5
      && 
#line 11527 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !SIBLING_CALL_P (insn)))
    {
      return 630;  /* *call_value_rex64_ms_sysv */
    }
  goto L28440;

 L10554: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L10555;
  goto L28440;

 L10555: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L10556;
  goto L28440;

 L10556: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode)
    goto L32094;
  goto L28440;

 L32094: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case COMPARE:
      goto L10557;
    case IF_THEN_ELSE:
      goto L10595;
    default:
     break;
   }
  goto L28440;

 L10557: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L10558;
  goto L28440;

 L10558: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L32096;
    case DImode:
      goto L32097;
    default:
      break;
    }
  goto L28440;

 L32096: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[4] = x4;
      goto L10559;
    }
  goto L28440;

 L10559: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L10560;
  goto L28440;

 L10560: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[5] = x4;
      goto L10561;
    }
  goto L28440;

 L10561: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10562;
  goto L28440;

 L10562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[6] = x2;
      goto L10563;
    }
  goto L28440;

 L10563: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10564;
  goto L28440;

 L10564: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L10565;
    }
  goto L28440;

 L10565: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L10566;
  goto L28440;

 L10566: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10567;
    }
  goto L28440;

 L10567: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L10568;
  goto L28440;

 L10568: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10569;
    }
  goto L28440;

 L10569: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L10570;
  goto L28440;

 L10570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L10571;
    }
  goto L28440;

 L10571: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16154 "../../gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 878;  /* *cmpstrnqi_nz_1 */
    }
  goto L28440;

 L32097: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DImode))
    {
      operands[4] = x4;
      goto L10578;
    }
  goto L28440;

 L10578: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L10579;
  goto L28440;

 L10579: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[5] = x4;
      goto L10580;
    }
  goto L28440;

 L10580: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10581;
  goto L28440;

 L10581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[6] = x2;
      goto L10582;
    }
  goto L28440;

 L10582: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10583;
  goto L28440;

 L10583: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L10584;
    }
  goto L28440;

 L10584: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L10585;
  goto L28440;

 L10585: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10586;
    }
  goto L28440;

 L10586: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L10587;
  goto L28440;

 L10587: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10588;
    }
  goto L28440;

 L10588: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L10589;
  goto L28440;

 L10589: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L10590;
    }
  goto L28440;

 L10590: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16154 "../../gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 879;  /* *cmpstrnqi_nz_1 */
    }
  goto L28440;

 L10595: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == NE)
    goto L10596;
  goto L28440;

 L10596: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L32098;
    case DImode:
      goto L32099;
    default:
      break;
    }
  goto L28440;

 L32098: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[6] = x4;
      goto L10597;
    }
  goto L28440;

 L10597: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10598;
  goto L28440;

 L10598: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == COMPARE)
    goto L10599;
  goto L28440;

 L10599: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L10600;
  goto L28440;

 L10600: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[4] = x5;
      goto L10601;
    }
  goto L28440;

 L10601: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L10602;
  goto L28440;

 L10602: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[5] = x5;
      goto L10603;
    }
  goto L28440;

 L10603: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10604;
  goto L28440;

 L10604: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10605;
  goto L28440;

 L10605: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L10606;
    }
  goto L28440;

 L10606: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10607;
  goto L28440;

 L10607: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L10608;
  goto L28440;

 L10608: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L10609;
  goto L28440;

 L10609: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L10610;
    }
  goto L28440;

 L10610: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L10611;
  goto L28440;

 L10611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L10612;
    }
  goto L28440;

 L10612: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L10613;
  goto L28440;

 L10613: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L10614;
    }
  goto L28440;

 L10614: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16194 "../../gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 880;  /* *cmpstrnqi_1 */
    }
  goto L28440;

 L32099: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DImode))
    {
      operands[6] = x4;
      goto L10621;
    }
  goto L28440;

 L10621: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10622;
  goto L28440;

 L10622: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == COMPARE)
    goto L10623;
  goto L28440;

 L10623: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L10624;
  goto L28440;

 L10624: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, DImode))
    {
      operands[4] = x5;
      goto L10625;
    }
  goto L28440;

 L10625: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L10626;
  goto L28440;

 L10626: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, DImode))
    {
      operands[5] = x5;
      goto L10627;
    }
  goto L28440;

 L10627: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L10628;
  goto L28440;

 L10628: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L10629;
  goto L28440;

 L10629: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L10630;
    }
  goto L28440;

 L10630: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L10631;
  goto L28440;

 L10631: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L10632;
  goto L28440;

 L10632: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L10633;
  goto L28440;

 L10633: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L10634;
    }
  goto L28440;

 L10634: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L10635;
  goto L28440;

 L10635: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L10636;
    }
  goto L28440;

 L10636: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L10637;
  goto L28440;

 L10637: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L10638;
    }
  goto L28440;

 L10638: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16194 "../../gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 881;  /* *cmpstrnqi_1 */
    }
  goto L28440;

 L12191: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == UNSPEC_VOLATILE)
    goto L32100;
  goto L28445;

 L32100: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L32102;
  goto L28445;

 L32102: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 21L:
      goto L12192;
    case 22L:
      goto L12195;
    default:
      break;
    }
  goto L28445;

 L12192: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 1697 "../../gcc/config/i386/mmx.md"
(TARGET_MMX))
    {
      return 1073;  /* *mmx_emms */
    }
  goto L28445;

 L12195: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 1730 "../../gcc/config/i386/mmx.md"
(TARGET_3DNOW))
    {
      return 1074;  /* *mmx_femms */
    }
  goto L28445;

 L20308: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == UNSPEC_VOLATILE
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 28)
    goto L20309;
  goto ret0;

 L20309: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 11690 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1834;  /* *avx_vzeroall */
    }
  goto ret0;
 ret0:
  return -1;
}

int
recog (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;
  recog_data.insn = NULL_RTX;

  switch (GET_CODE (x0))
    {
    case SET:
      goto L138;
    case PARALLEL:
      goto L28420;
    case CALL:
      goto L7460;
    case UNSPEC_VOLATILE:
      goto L28426;
    case SIMPLE_RETURN:
      goto L28428;
    case CONST_INT:
      goto L28429;
    case EH_RETURN:
      goto L28432;
    case TRAP_IF:
      goto L11056;
    case PREFETCH:
      goto L11059;
    default:
     break;
   }
  goto ret0;

 L138: ATTRIBUTE_UNUSED_LABEL
  return recog_52 (x0, insn, pnum_clobbers);

 L28420: ATTRIBUTE_UNUSED_LABEL
  return recog_77 (x0, insn, pnum_clobbers);

 L7460: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  if (GET_MODE (x1) == QImode
      && GET_CODE (x1) == MEM)
    goto L7461;
  goto ret0;

 L7461: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32104;
    case DImode:
      goto L32105;
    default:
      break;
    }
  goto ret0;

 L32104: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L7462;
    }
 L32106: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L7560;
    }
  goto ret0;

 L7462: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  operands[1] = x1;
  goto L7463;

 L7463: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11285 "../../gcc/config/i386/i386.md"
(!SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 609;  /* *call */
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L32106;

 L7560: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  operands[1] = x1;
  goto L7561;

 L7561: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11349 "../../gcc/config/i386/i386.md"
(SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 615;  /* *sibcall */
    }
  goto ret0;

 L32105: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L7467;
    }
 L32107: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L7565;
    }
  goto ret0;

 L7467: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  operands[1] = x1;
  goto L7468;

 L7468: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11285 "../../gcc/config/i386/i386.md"
(!SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 610;  /* *call */
    }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L32107;

 L7565: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  operands[1] = x1;
  goto L7566;

 L7566: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11349 "../../gcc/config/i386/i386.md"
(SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 616;  /* *sibcall */
    }
  goto ret0;

 L28426: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x0, 0))
    {
    case 1:
      goto L32108;
    case 3:
      goto L32115;
    case 2:
      goto L32120;
    default:
      break;
    }
  goto ret0;

 L32108: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x0, 1))
    {
    case 0L:
      goto L7818;
    case 4L:
      goto L7824;
    case 7L:
      goto L7842;
    case 3L:
      goto L7845;
    case 5L:
      goto L7915;
    case 6L:
      goto L10148;
    case 11L:
      goto L11273;
    case 17L:
      goto L11327;
    case 18L:
      goto L11333;
    case 23L:
      goto L16619;
    case 25L:
      goto L16626;
    case 29L:
      goto L20311;
    default:
      break;
    }
  goto ret0;

 L7818: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    {
      return 635;  /* blockage */
    }
  goto ret0;

 L7824: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  operands[0] = x1;
  return 637;  /* prologue_use */

 L7842: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (const_int_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L7843;
    }
  goto ret0;

 L7843: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11768 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return 643;  /* nops */
    }
  goto ret0;

 L7845: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  operands[0] = x1;
  return 644;  /* pad */

 L7915: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (const_int_operand (x1, SImode))
    {
      operands[0] = x1;
      return 653;  /* split_stack_return */
    }
  goto ret0;

 L10148: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    {
      return 853;  /* cld */
    }
  goto ret0;

 L11273: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_MODE (x1))
    {
    case SImode:
      goto L32123;
    case DImode:
      goto L32124;
    default:
      break;
    }
  goto ret0;

 L32123: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L11274;
    }
  goto ret0;

 L11274: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 18061 "../../gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return 939;  /* *lwp_llwpcbsi1 */
    }
  goto ret0;

 L32124: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L11277;
    }
  goto ret0;

 L11277: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 18061 "../../gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return 940;  /* *lwp_llwpcbdi1 */
    }
  goto ret0;

 L11327: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_MODE (x1))
    {
    case SImode:
      goto L32125;
    case DImode:
      goto L32126;
    default:
      break;
    }
  goto ret0;

 L32125: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L11328;
    }
  goto ret0;

 L11328: ATTRIBUTE_UNUSED_LABEL
  if (
#line 18154 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE))
    {
      return 951;  /* wrfsbasesi */
    }
  goto ret0;

 L32126: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L11331;
    }
  goto ret0;

 L11331: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 18154 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 952;  /* wrfsbasedi */
    }
  goto ret0;

 L11333: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_MODE (x1))
    {
    case SImode:
      goto L32127;
    case DImode:
      goto L32128;
    default:
      break;
    }
  goto ret0;

 L32127: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L11334;
    }
  goto ret0;

 L11334: ATTRIBUTE_UNUSED_LABEL
  if (
#line 18162 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE))
    {
      return 953;  /* wrgsbasesi */
    }
  goto ret0;

 L32128: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L11337;
    }
  goto ret0;

 L11337: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 18162 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 954;  /* wrgsbasedi */
    }
  goto ret0;

 L16619: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (memory_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L16620;
    }
  goto ret0;

 L16620: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8039 "../../gcc/config/i386/sse.md"
(TARGET_SSE))
    {
      return 1605;  /* sse_ldmxcsr */
    }
  goto ret0;

 L16626: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (address_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L16627;
    }
  goto ret0;

 L16627: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8059 "../../gcc/config/i386/sse.md"
(TARGET_SSE2))
    {
      return 1607;  /* sse2_clflush */
    }
  goto ret0;

 L20311: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (const_int_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L20312;
    }
  goto ret0;

 L20312: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11703 "../../gcc/config/i386/sse.md"
(TARGET_AVX))
    {
      return 1835;  /* avx_vzeroupper */
    }
  goto ret0;

 L32115: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x0, 1))
    {
    case 13L:
      goto L11287;
    case 26L:
      goto L16633;
    default:
      break;
    }
  goto ret0;

 L11287: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_MODE (x1))
    {
    case SImode:
      goto L32129;
    case DImode:
      goto L32130;
    default:
      break;
    }
  goto ret0;

 L32129: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L11288;
    }
  goto ret0;

 L11288: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (nonimmediate_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L11289;
    }
  goto ret0;

 L11289: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (const_int_operand (x1, SImode))
    {
      operands[2] = x1;
      goto L11290;
    }
  goto ret0;

 L11290: ATTRIBUTE_UNUSED_LABEL
  if (
#line 18105 "../../gcc/config/i386/i386.md"
(TARGET_LWP))
    {
      return 943;  /* *lwp_lwpvalsi3_1 */
    }
  goto ret0;

 L32130: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L11293;
    }
  goto ret0;

 L11293: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (nonimmediate_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L11294;
    }
  goto ret0;

 L11294: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (const_int_operand (x1, SImode))
    {
      operands[2] = x1;
      goto L11295;
    }
  goto ret0;

 L11295: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 18105 "../../gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return 944;  /* *lwp_lwpvaldi3_1 */
    }
  goto ret0;

 L16633: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_MODE (x1))
    {
    case SImode:
      goto L32131;
    case DImode:
      goto L32132;
    default:
      break;
    }
  goto ret0;

 L32131: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L16634;
    }
  goto ret0;

 L16634: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (register_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L16635;
    }
  goto ret0;

 L16635: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (register_operand (x1, SImode))
    {
      operands[2] = x1;
      goto L16636;
    }
  goto ret0;

 L16636: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8082 "../../gcc/config/i386/sse.md"
(TARGET_SSE3 && !TARGET_64BIT))
    {
      return 1609;  /* sse3_monitor */
    }
  goto ret0;

 L32132: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L16639;
    }
  goto ret0;

 L16639: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (register_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L16640;
    }
  goto ret0;

 L16640: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (register_operand (x1, SImode))
    {
      operands[2] = x1;
      goto L16641;
    }
  goto ret0;

 L16641: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8091 "../../gcc/config/i386/sse.md"
(TARGET_SSE3 && TARGET_64BIT))
    {
      return 1610;  /* sse3_monitor64 */
    }
  goto ret0;

 L32120: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x0, 1) == 27)
    goto L16629;
  goto ret0;

 L16629: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L16630;
    }
  goto ret0;

 L16630: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (register_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L16631;
    }
  goto ret0;

 L16631: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8070 "../../gcc/config/i386/sse.md"
(TARGET_SSE3))
    {
      return 1608;  /* sse3_mwait */
    }
  goto ret0;

 L28428: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11717 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return 638;  /* simple_return_internal */
    }
  goto ret0;

 L28429: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x0, 0) == 0L)
    {
      return 642;  /* nop */
    }
  goto ret0;

 L28432: ATTRIBUTE_UNUSED_LABEL
  return 650;  /* eh_return_internal */

 L11056: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L11057;
  goto ret0;

 L11057: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    {
      return 918;  /* trap */
    }
  goto ret0;

 L11059: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  if (address_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L11060;
    }
  goto ret0;

 L11060: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == CONST_INT)
    goto L32133;
  goto ret0;

 L32133: ATTRIBUTE_UNUSED_LABEL
  if (XWINT (x1, 0) == 0L)
    goto L11061;
 L32134: ATTRIBUTE_UNUSED_LABEL
  if (const_int_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L11066;
    }
  goto ret0;

 L11061: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 2);
  if (const_int_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L11062;
    }
  x1 = XEXP (x0, 1);
  goto L32134;

 L11062: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17727 "../../gcc/config/i386/i386.md"
(TARGET_PREFETCH_SSE))
    {
      return 919;  /* *prefetch_sse */
    }
  x1 = XEXP (x0, 1);
  goto L32134;

 L11066: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 2);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && 
#line 17748 "../../gcc/config/i386/i386.md"
(TARGET_3DNOW || TARGET_PREFETCHW))
    {
      return 920;  /* *prefetch_3dnow */
    }
  goto ret0;
 ret0:
  return -1;
}

static rtx
split_1 (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L24166;
    }
 L32144: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L24173;
    }
 L32158: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L25156;
    }
  goto ret0;

 L24166: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L24167;
  x2 = XEXP (x1, 0);
  goto L32144;

 L24167: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24168;
    }
  x2 = XEXP (x1, 0);
  goto L32144;

 L24168: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24169;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32144;

 L24169: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 3496 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed
   && true_regnum (operands[0]) == true_regnum (operands[1])))
    {
      return gen_split_2127 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32144;

 L24173: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32182;
  x2 = XEXP (x1, 0);
  goto L32158;

 L32182: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L24174;
    case FIX:
      goto L24509;
    case PLUS:
      goto L25133;
    case MINUS:
      goto L25248;
    case NEG:
      goto L25568;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32158;

 L24174: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (general_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24175;
    }
  x2 = XEXP (x1, 0);
  goto L32158;

 L24175: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24176;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L24176: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 3505 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed
   && !(MMX_REG_P (operands[0]) || SSE_REG_P (operands[0]))))
    {
      return gen_split_2128 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L24509: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24510;
    }
  x2 = XEXP (x1, 0);
  goto L32158;

 L24510: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24511;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L24511: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || DImode != DImode))
   && can_create_pseudo_p ()) && 
#line 4555 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2197 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L25133: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25134;
    }
  x2 = XEXP (x1, 0);
  goto L32158;

 L25134: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L25135;
    }
  x2 = XEXP (x1, 0);
  goto L32158;

 L25135: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25136;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L25136: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 5476 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2292 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L25248: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25249;
    }
  x2 = XEXP (x1, 0);
  goto L32158;

 L25249: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L25250;
    }
  x2 = XEXP (x1, 0);
  goto L32158;

 L25250: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25251;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L25251: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6395 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2311 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L25568: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25569;
    }
  x2 = XEXP (x1, 0);
  goto L32158;

 L25569: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25570;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L25570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 8512 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2405 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32158;

 L25156: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32187;
  goto ret0;

 L32187: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L25157;
    case ZERO_EXTEND:
      goto L25197;
    case MULT:
      goto L25264;
    case ASHIFT:
      goto L25737;
    case LSHIFTRT:
      goto L25813;
    case ASHIFTRT:
      goto L25821;
    case ROTATE:
      goto L25983;
    case ROTATERT:
      goto L25999;
    default:
     break;
   }
  goto ret0;

 L25157: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25158;
    }
  goto ret0;

 L25158: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L25159;
    }
 L25190: ATTRIBUTE_UNUSED_LABEL
  if (x86_64_nonmemory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L25191;
    }
  goto ret0;

 L25159: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25160;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L25190;

 L25160: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 5783 "../../gcc/config/i386/i386.md"
(reload_completed && ix86_avoid_lea_for_add (insn, operands)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2295 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L25190;

 L25191: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25192;
  goto ret0;

 L25192: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 5794 "../../gcc/config/i386/i386.md"
(reload_completed && ix86_lea_for_add_ok (insn, operands)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2299 (insn, operands);
    }
  goto ret0;

 L25197: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32195;
  goto ret0;

 L32195: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x3))
    {
    case PLUS:
      goto L25198;
    case ASHIFT:
      goto L25788;
    case LSHIFTRT:
      goto L25914;
    case ASHIFTRT:
      goto L25923;
    case ROTATE:
      goto L26008;
    case ROTATERT:
      goto L26017;
    default:
     break;
   }
  goto ret0;

 L25198: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L25199;
    }
  goto ret0;

 L25199: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_nonmemory_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L25200;
    }
  goto ret0;

 L25200: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25201;
  goto ret0;

 L25201: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5821 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && reload_completed && ix86_lea_for_add_ok (insn, operands)))
    {
      return gen_split_2300 (insn, operands);
    }
  goto ret0;

 L25788: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L32201;
  goto ret0;

 L32201: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L25789;
    }
 L32202: ATTRIBUTE_UNUSED_LABEL
  if (index_register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L25806;
    }
  goto ret0;

 L25789: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L25790;
    }
  x4 = XEXP (x3, 0);
  goto L32202;

 L25790: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25791;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32202;

 L25791: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9242 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
    {
      return gen_split_2453 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32202;

 L25806: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L25807;
    }
  goto ret0;

 L25807: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25808;
  goto ret0;

 L25808: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9428 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && reload_completed
   && true_regnum (operands[0]) != true_regnum (operands[1])))
    {
      return gen_split_2455 (insn, operands);
    }
  goto ret0;

 L25914: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L25915;
    }
  goto ret0;

 L25915: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L25916;
    }
  goto ret0;

 L25916: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25917;
  goto ret0;

 L25917: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9853 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
    {
      return gen_split_2480 (insn, operands);
    }
  goto ret0;

 L25923: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L25924;
    }
  goto ret0;

 L25924: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L25925;
    }
  goto ret0;

 L25925: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25926;
  goto ret0;

 L25926: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9853 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
    {
      return gen_split_2481 (insn, operands);
    }
  goto ret0;

 L26008: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L26009;
    }
  goto ret0;

 L26009: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (immediate_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L26010;
    }
  goto ret0;

 L26010: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26011;
  goto ret0;

 L26011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10239 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
    {
      return gen_split_2500 (insn, operands);
    }
  goto ret0;

 L26017: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L26018;
    }
  goto ret0;

 L26018: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (immediate_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L26019;
    }
  goto ret0;

 L26019: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26020;
  goto ret0;

 L26020: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10253 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
    {
      return gen_split_2501 (insn, operands);
    }
  goto ret0;

 L25264: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L25265;
  goto ret0;

 L25265: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L25266;
    }
  goto ret0;

 L25266: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L25267;
  goto ret0;

 L25267: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L25268;
    }
  goto ret0;

 L25268: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25269;
  goto ret0;

 L25269: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6854 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed
  && true_regnum (operands[1]) == DX_REG) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2337 (insn, operands);
    }
  goto ret0;

 L25737: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonmemory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25738;
    }
 L25779: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25780;
    }
  goto ret0;

 L25738: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25739;
    }
  x3 = XEXP (x2, 0);
  goto L25779;

 L25739: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25740;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L25779;

 L25740: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 8991 "../../gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2443 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L25779;

 L25780: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25781;
    }
  goto ret0;

 L25781: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25782;
  goto ret0;

 L25782: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9172 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2452 (insn, operands);
    }
  goto ret0;

 L25813: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L32203;
  goto ret0;

 L32203: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25814;
    }
 L32204: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25898;
    }
  goto ret0;

 L25814: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25815;
    }
  x3 = XEXP (x2, 0);
  goto L32204;

 L25815: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25816;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32204;

 L25816: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9617 "../../gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2466 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32204;

 L25898: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25899;
    }
  goto ret0;

 L25899: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25900;
  goto ret0;

 L25900: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9799 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2478 (insn, operands);
    }
  goto ret0;

 L25821: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L32205;
  goto ret0;

 L32205: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25822;
    }
 L32206: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25906;
    }
  goto ret0;

 L25822: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25823;
    }
  x3 = XEXP (x2, 0);
  goto L32206;

 L25823: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25824;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32206;

 L25824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9617 "../../gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 787 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2467 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32206;

 L25906: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25907;
    }
  goto ret0;

 L25907: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25908;
  goto ret0;

 L25908: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9799 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2479 (insn, operands);
    }
  goto ret0;

 L25983: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25984;
    }
  goto ret0;

 L25984: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25985;
    }
  goto ret0;

 L25985: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25986;
  goto ret0;

 L25986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10172 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2497 (insn, operands);
    }
  goto ret0;

 L25999: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L26000;
    }
  goto ret0;

 L26000: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L26001;
    }
  goto ret0;

 L26001: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26002;
  goto ret0;

 L26002: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10185 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2499 (insn, operands);
    }
  goto ret0;
 ret0:
  return 0;
}

static rtx
split_2 (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case CCFPmode:
      goto L32141;
    case CCFPUmode:
      goto L32142;
    case DImode:
      goto L32143;
    case SImode:
      goto L32145;
    case HImode:
      goto L32146;
    case SFmode:
      goto L32147;
    case DFmode:
      goto L32148;
    case XFmode:
      goto L32156;
    case TImode:
      goto L32157;
    case QImode:
      goto L32159;
    case TFmode:
      goto L32161;
    default:
      break;
    }
 L25679: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case REG:
      goto L32162;
    case PC:
      goto L26144;
    default:
     break;
   }
 L25494: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L25495;
    }
 L25502: ATTRIBUTE_UNUSED_LABEL
  if (ext_register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L25503;
    }
 L25518: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L25519;
    }
 L26460: ATTRIBUTE_UNUSED_LABEL
  operands[0] = x2;
  goto L26461;
 L26614: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32163;
    case DImode:
      goto L32164;
    case XFmode:
      goto L32165;
    case HImode:
      goto L32166;
    case V4SImode:
      goto L32172;
    case V8SFmode:
      goto L32173;
    case V4SFmode:
      goto L32174;
    case V4DFmode:
      goto L32175;
    case V2DFmode:
      goto L32176;
    default:
      break;
    }
 L27139: ATTRIBUTE_UNUSED_LABEL
  if (flags_reg_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L27140;
    }
 L27131: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L27160;
    }
  goto ret0;

 L32141: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L24002;
  goto L25679;

 L24002: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == COMPARE)
    goto L24012;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24012: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case XFmode:
      goto L32177;
    case SFmode:
      goto L32178;
    case DFmode:
      goto L32179;
    default:
      break;
    }
 L24003: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24049;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L32177: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L24013;
    }
  goto L24003;

 L24013: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L24014;
    }
  x3 = XEXP (x2, 0);
  goto L24003;

 L24014: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24015;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L24015: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24016;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L24016: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1271 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1274 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2079 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L32178: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L24022;
    }
  goto L24003;

 L24022: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L24023;
    }
  x3 = XEXP (x2, 0);
  goto L24003;

 L24023: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24024;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L24024: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24025;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L24025: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1305 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1308 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2080 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L32179: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L24031;
    }
  goto L24003;

 L24031: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[2] = x3;
      goto L24032;
    }
  x3 = XEXP (x2, 0);
  goto L24003;

 L24032: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24033;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L24033: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24034;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L24034: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1305 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1308 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2081 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L24003;

 L24049: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (float_operator (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L24050;
    }
  if (const0_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L24005;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24050: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case HImode:
      goto L32180;
    case SImode:
      goto L32181;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L32180: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L24051;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24051: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24052;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24052: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24053;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24053: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1392 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))
   && (GET_MODE (operands [3]) == GET_MODE (operands[1]))) && 
#line 1397 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2083 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32181: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L24061;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24061: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24062;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24062: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24063;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24063: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1392 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))
   && (GET_MODE (operands [3]) == GET_MODE (operands[1]))) && 
#line 1397 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2084 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24005: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24006;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24006: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24007;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24007: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1230 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_SAHF && !TARGET_CMOVE
   && GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
#line 1234 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2078 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32142: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L24038;
  goto L25679;

 L24038: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCFPUmode
      && GET_CODE (x2) == COMPARE)
    goto L24039;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24039: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24040;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24040: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L24041;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24041: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24042;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24042: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24043;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24043: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 1346 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_SAHF && !TARGET_CMOVE
   && GET_MODE (operands[1]) == GET_MODE (operands[2])) && 
#line 1350 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2082 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32143: ATTRIBUTE_UNUSED_LABEL
  tem = split_1 (x0, insn);
  if (tem != 0)
    return tem;
  goto L25679;

 L32145: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L24180;
    }
 L32152: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L24501;
    }
  goto L25679;

 L24180: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32207;
  x2 = XEXP (x1, 0);
  goto L32152;

 L32207: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L24181;
    case PLUS:
      goto L25149;
    case ASHIFT:
      goto L25771;
    case LSHIFTRT:
      goto L25881;
    case ASHIFTRT:
      goto L25889;
    case ROTATE:
      goto L25975;
    case ROTATERT:
      goto L25991;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case GEU:
    case GTU:
    case LEU:
    case LTU:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L32214;
    default:
      x2 = XEXP (x1, 0);
      goto L32152;
   }
 L32214: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x2, SImode))
    {
      operands[1] = x2;
      goto L26080;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L24181: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L32215;
    case QImode:
      goto L32216;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L32215: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L24182;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L24182: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24183;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L24183: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 3537 "../../gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
#line 3539 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2130 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L32216: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L24196;
    }
 L32217: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L24224;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L24196: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24197;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32217;

 L24197: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L32218;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32217;

 L32218: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L32220;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32217;

 L32220: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L32222;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32217;

 L32222: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3576 "../../gcc/config/i386/i386.md"
(reload_completed
   && (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
   && ANY_QI_REG_P (operands[0])
   && (ANY_QI_REG_P (operands[1]) || MEM_P (operands[1]))
   && !reg_overlap_mentioned_p (operands[0], operands[1])))
    {
      return gen_split_2134 (insn, operands);
    }
 L32223: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3601 "../../gcc/config/i386/i386.md"
(reload_completed
   && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))
   && (!REG_P (operands[1]) || ANY_QI_REG_P (operands[1]))))
    {
      return gen_split_2136 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32217;

 L24224: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24225;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L24225: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 3622 "../../gcc/config/i386/i386.md"
(reload_completed
   && true_regnum (operands[0]) == true_regnum (operands[1])))
    {
      return gen_split_2138 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25149: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25150;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25150: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L25151;
    }
 L25182: ATTRIBUTE_UNUSED_LABEL
  if (x86_64_nonmemory_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L25183;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25151: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25152;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L25182;

 L25152: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5783 "../../gcc/config/i386/i386.md"
(reload_completed && ix86_avoid_lea_for_add (insn, operands)))
    {
      return gen_split_2294 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  goto L25182;

 L25183: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25184;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25184: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5794 "../../gcc/config/i386/i386.md"
(reload_completed && ix86_lea_for_add_ok (insn, operands)))
    {
      return gen_split_2298 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25771: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25772;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25772: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25773;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25773: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25774;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25774: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9172 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
    {
      return gen_split_2451 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25881: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25882;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25882: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25883;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25883: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25884;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25884: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9799 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
    {
      return gen_split_2476 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25889: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25890;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25890: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25891;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25891: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25892;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25892: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9799 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
    {
      return gen_split_2477 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25975: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25976;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25976: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25977;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25977: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25978;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25978: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10172 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
    {
      return gen_split_2496 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25991: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25992;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25992: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25993;
    }
  x2 = XEXP (x1, 0);
  goto L32152;

 L25993: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25994;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L25994: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10185 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
    {
      return gen_split_2498 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L26080: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L26081;
  x2 = XEXP (x1, 0);
  goto L32152;

 L26081: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26082;
  x2 = XEXP (x1, 0);
  goto L32152;

 L26082: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26083;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L26083: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10566 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
#line 10569 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2511 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32152;

 L24501: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == FIX)
    goto L24502;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24502: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24503;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24503: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24504;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24504: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || SImode != DImode))
   && can_create_pseudo_p ()) && 
#line 4555 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2196 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32146: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24187;
    }
 L32151: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24494;
    }
  goto L25679;

 L24187: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L32224;
  x2 = XEXP (x1, 0);
  goto L32151;

 L32224: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ZERO_EXTEND:
      goto L24188;
    case PLUS:
      goto L25173;
    case ROTATE:
      goto L26025;
    case ROTATERT:
      goto L26033;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32151;

 L24188: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode)
    goto L32228;
  x2 = XEXP (x1, 0);
  goto L32151;

 L32228: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L24189;
    }
 L32229: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L24217;
    }
  x2 = XEXP (x1, 0);
  goto L32151;

 L24189: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24190;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32229;

 L24190: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L32230;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32229;

 L32230: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L32232;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32229;

 L32232: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L32234;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32229;

 L32234: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3576 "../../gcc/config/i386/i386.md"
(reload_completed
   && (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
   && ANY_QI_REG_P (operands[0])
   && (ANY_QI_REG_P (operands[1]) || MEM_P (operands[1]))
   && !reg_overlap_mentioned_p (operands[0], operands[1])))
    {
      return gen_split_2133 (insn, operands);
    }
 L32235: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3601 "../../gcc/config/i386/i386.md"
(reload_completed
   && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))
   && (!REG_P (operands[1]) || ANY_QI_REG_P (operands[1]))))
    {
      return gen_split_2135 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32229;

 L24217: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24218;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32151;

 L24218: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 3622 "../../gcc/config/i386/i386.md"
(reload_completed
   && true_regnum (operands[0]) == true_regnum (operands[1])))
    {
      return gen_split_2137 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32151;

 L25173: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L25174;
    }
  x2 = XEXP (x1, 0);
  goto L32151;

 L25174: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L25175;
    }
  x2 = XEXP (x1, 0);
  goto L32151;

 L25175: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25176;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32151;

 L25176: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5794 "../../gcc/config/i386/i386.md"
(reload_completed && ix86_lea_for_add_ok (insn, operands)))
    {
      return gen_split_2297 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32151;

 L26025: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L26026;
  x2 = XEXP (x1, 0);
  goto L32151;

 L26026: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L26027;
  x2 = XEXP (x1, 0);
  goto L32151;

 L26027: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26028;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32151;

 L26028: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10310 "../../gcc/config/i386/i386.md"
(reload_completed
  && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
    {
      return gen_split_2502 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32151;

 L26033: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L26034;
  x2 = XEXP (x1, 0);
  goto L32151;

 L26034: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L26035;
  x2 = XEXP (x1, 0);
  goto L32151;

 L26035: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26036;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32151;

 L26036: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10310 "../../gcc/config/i386/i386.md"
(reload_completed
  && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
    {
      return gen_split_2503 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32151;

 L24494: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == FIX)
    goto L24495;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24495: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24496;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24496: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24497;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24497: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 4549 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || HImode != DImode))
   && can_create_pseudo_p ()) && 
#line 4555 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2195 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32147: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L24299;
    }
 L32154: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L24896;
    }
  if (memory_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L24323;
    }
  goto L25679;

 L24299: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode)
    goto L32236;
  x2 = XEXP (x1, 0);
  goto L32154;

 L32236: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT_TRUNCATE:
      goto L24300;
    case FLOAT:
      goto L24607;
    case UNSPEC:
      goto L32239;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32154;

 L24300: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case DFmode:
      goto L32240;
    case XFmode:
      goto L32241;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L32240: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x3, DFmode))
    {
      operands[1] = x3;
      goto L24301;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L24301: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24302;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24302: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  goto L24303;

 L24303: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4176 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2156 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L32241: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L24309;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L24309: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24310;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24310: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L24311;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24311: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4254 "../../gcc/config/i386/i386.md"
(TARGET_80387 && reload_completed))
    {
      return gen_split_2159 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24607: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L32242;
    case SImode:
      goto L32244;
    case DImode:
      goto L32245;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L32242: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L24608;
    }
 L32243: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L24632;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L24608: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24609;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32243;

 L24609: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24610;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32243;

 L24610: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4763 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && reload_completed))
    {
      return gen_split_2210 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32243;

 L24632: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24633;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24633: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24634;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24634: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4774 "../../gcc/config/i386/i386.md"
(TARGET_80387
    && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
        || TARGET_MIX_SSE_I387)
    && reload_completed))
    {
      return gen_split_2213 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L32244: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24686;
    }
 L32246: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24766;
    }
 L32247: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24802;
    }
 L32249: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24834;
    }
 L32251: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24866;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L24686: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24687;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32246;

 L24687: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24688;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32246;

 L24688: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4899 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && TARGET_INTER_UNIT_CONVERSIONS
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2228 (insn, operands);
    }
 L24720: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4912 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2232 (insn, operands);
    }
 L24752: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5004 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2236 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32246;

 L24766: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24767;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32247;

 L24767: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24768;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32247;

 L24768: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5047 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2238 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32247;

 L24802: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24803;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32249;

 L24803: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24804;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32249;

 L24804: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5179 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2244 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32249;

 L24834: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24835;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32251;

 L24835: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24836;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32251;

 L24836: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5214 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2248 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32251;

 L24866: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24867;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24867: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24868;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24868: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5228 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2252 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L32245: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24702;
    }
 L32248: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24818;
    }
 L32250: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24850;
    }
 L32252: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24882;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L24702: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24703;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32248;

 L24703: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24704;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32248;

 L24704: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4899 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && TARGET_INTER_UNIT_CONVERSIONS
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2230 (insn, operands);
    }
 L24736: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4912 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_MIX_SSE_I387
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2234 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32248;

 L24818: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24819;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32250;

 L24819: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24820;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32250;

 L24820: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5179 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2246 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32250;

 L24850: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24851;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32252;

 L24851: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24852;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32252;

 L24852: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5214 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2250 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32252;

 L24882: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24883;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24883: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24884;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24884: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5228 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2254 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L32239: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 45)
    goto L25648;
  x2 = XEXP (x1, 0);
  goto L32154;

 L25648: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SFmode))
    {
      operands[2] = x3;
      goto L25649;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L25649: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SFmode))
    {
      operands[3] = x3;
      goto L25650;
    }
  x2 = XEXP (x1, 0);
  goto L32154;

 L25650: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  operands[4] = x3;
  goto L25651;

 L25651: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  operands[5] = x3;
  goto L25652;

 L25652: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25653;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L25653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L25654;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L25654: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8850 "../../gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    || (TARGET_SSE2 && (SFmode == TFmode)))
   && reload_completed))
    {
      return gen_split_2426 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32154;

 L24896: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == FLOAT)
    goto L24897;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24897: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L32253;
    case DImode:
      goto L32254;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L32253: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24898;
    }
 L32255: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24946;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24898: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24899;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32255;

 L24899: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24900;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32255;

 L24900: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5266 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (SFmode, SImode)
   && reload_completed))
    {
      return gen_split_2256 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32255;

 L24946: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24947;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24947: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24948;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24948: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5276 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (SFmode, SImode)
   && reload_completed))
    {
      return gen_split_2262 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32254: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24922;
    }
 L32256: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24970;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24922: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24923;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32256;

 L24923: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24924;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32256;

 L24924: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5266 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (SFmode, DImode)
   && reload_completed))
    {
      return gen_split_2259 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32256;

 L24970: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24971;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24971: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24972;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24972: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5276 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (SFmode, DImode)
   && reload_completed))
    {
      return gen_split_2265 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24323: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == FLOAT_TRUNCATE)
    goto L24324;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24324: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L24325;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24325: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24326;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24326: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L24327;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24327: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4263 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return gen_split_2161 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32148: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L24315;
    }
 L32155: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L24904;
    }
  if (memory_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L24331;
    }
  goto L25679;

 L24315: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode)
    goto L32257;
  x2 = XEXP (x1, 0);
  goto L32155;

 L32257: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FLOAT_TRUNCATE:
      goto L24316;
    case FLOAT:
      goto L24615;
    case UNSPEC:
      goto L32260;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32155;

 L24316: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L24317;
    }
  x2 = XEXP (x1, 0);
  goto L32155;

 L24317: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24318;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24318: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L24319;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24319: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4254 "../../gcc/config/i386/i386.md"
(TARGET_80387 && reload_completed))
    {
      return gen_split_2160 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24615: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L32261;
    case SImode:
      goto L32263;
    case DImode:
      goto L32264;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32155;

 L32261: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L24616;
    }
 L32262: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L24640;
    }
  x2 = XEXP (x1, 0);
  goto L32155;

 L24616: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24617;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32262;

 L24617: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24618;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32262;

 L24618: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4763 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && reload_completed))
    {
      return gen_split_2211 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32262;

 L24640: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24641;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24641: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24642;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24642: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4774 "../../gcc/config/i386/i386.md"
(TARGET_80387
    && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
        || TARGET_MIX_SSE_I387)
    && reload_completed))
    {
      return gen_split_2214 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L32263: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24694;
    }
 L32265: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24774;
    }
 L32266: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24810;
    }
 L32268: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24842;
    }
 L32270: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24874;
    }
  x2 = XEXP (x1, 0);
  goto L32155;

 L24694: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24695;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32265;

 L24695: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24696;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32265;

 L24696: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4899 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && TARGET_INTER_UNIT_CONVERSIONS
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2229 (insn, operands);
    }
 L24728: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4912 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2233 (insn, operands);
    }
 L24760: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5004 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2237 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32265;

 L24774: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24775;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32266;

 L24775: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24776;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32266;

 L24776: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5047 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2239 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32266;

 L24810: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24811;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32268;

 L24811: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24812;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32268;

 L24812: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5179 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2245 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32268;

 L24842: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24843;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32270;

 L24843: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24844;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32270;

 L24844: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5214 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2249 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32270;

 L24874: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24875;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24875: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24876;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24876: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5228 "../../gcc/config/i386/i386.md"
((SImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2253 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L32264: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24710;
    }
 L32267: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24826;
    }
 L32269: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24858;
    }
 L32271: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24890;
    }
  x2 = XEXP (x1, 0);
  goto L32155;

 L24710: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24711;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32267;

 L24711: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24712;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32267;

 L24712: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4899 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && TARGET_INTER_UNIT_CONVERSIONS
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2231 (insn, operands);
    }
 L24744: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4912 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_MIX_SSE_I387
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2235 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32267;

 L24826: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24827;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32269;

 L24827: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24828;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32269;

 L24828: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5179 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && (TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2247 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32269;

 L24858: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24859;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32271;

 L24859: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24860;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32271;

 L24860: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5214 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && !(TARGET_INTER_UNIT_CONVERSIONS || optimize_function_for_size_p (cfun))
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2251 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32271;

 L24890: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24891;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24891: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24892;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24892: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5228 "../../gcc/config/i386/i386.md"
((DImode != DImode || TARGET_64BIT)
   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2255 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L32260: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 45)
    goto L25659;
  x2 = XEXP (x1, 0);
  goto L32155;

 L25659: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DFmode))
    {
      operands[2] = x3;
      goto L25660;
    }
  x2 = XEXP (x1, 0);
  goto L32155;

 L25660: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, DFmode))
    {
      operands[3] = x3;
      goto L25661;
    }
  x2 = XEXP (x1, 0);
  goto L32155;

 L25661: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  operands[4] = x3;
  goto L25662;

 L25662: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  operands[5] = x3;
  goto L25663;

 L25663: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25664;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L25664: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L25665;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L25665: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8850 "../../gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    || (TARGET_SSE2 && (DFmode == TFmode)))
   && reload_completed))
    {
      return gen_split_2427 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32155;

 L24904: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == FLOAT)
    goto L24905;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24905: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L32272;
    case DImode:
      goto L32273;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L32272: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24906;
    }
 L32274: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24954;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24906: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24907;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32274;

 L24907: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24908;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32274;

 L24908: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5266 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (DFmode, SImode)
   && reload_completed))
    {
      return gen_split_2257 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32274;

 L24954: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24955;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24955: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24956;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24956: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5276 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (DFmode, SImode)
   && reload_completed))
    {
      return gen_split_2263 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32273: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24930;
    }
 L32275: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24978;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24930: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24931;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32275;

 L24931: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24932;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32275;

 L24932: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5266 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (DFmode, DImode)
   && reload_completed))
    {
      return gen_split_2260 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32275;

 L24978: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24979;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24979: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24980;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24980: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5276 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (DFmode, DImode)
   && reload_completed))
    {
      return gen_split_2266 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24331: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == FLOAT_TRUNCATE)
    goto L24332;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24332: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L24333;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24333: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24334;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24334: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L24335;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24335: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4263 "../../gcc/config/i386/i386.md"
(TARGET_80387))
    {
      return gen_split_2162 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32156: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L24912;
    }
 L32153: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L24622;
    }
  goto L25679;

 L24912: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == FLOAT)
    goto L24913;
  x2 = XEXP (x1, 0);
  goto L32153;

 L24913: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L32276;
    case DImode:
      goto L32277;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32153;

 L32276: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24914;
    }
 L32278: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24962;
    }
  x2 = XEXP (x1, 0);
  goto L32153;

 L24914: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24915;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32278;

 L24915: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24916;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32278;

 L24916: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5266 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (XFmode, SImode)
   && reload_completed))
    {
      return gen_split_2258 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32278;

 L24962: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24963;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32153;

 L24963: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24964;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32153;

 L24964: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5276 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (XFmode, SImode)
   && reload_completed))
    {
      return gen_split_2264 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32153;

 L32277: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24938;
    }
 L32279: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24986;
    }
  x2 = XEXP (x1, 0);
  goto L32153;

 L24938: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24939;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32279;

 L24939: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24940;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32279;

 L24940: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5266 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (XFmode, DImode)
   && reload_completed))
    {
      return gen_split_2261 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32279;

 L24986: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24987;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32153;

 L24987: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24988;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32153;

 L24988: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5276 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && X87_ENABLE_FLOAT (XFmode, DImode)
   && reload_completed))
    {
      return gen_split_2267 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32153;

 L24622: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == FLOAT)
    goto L24623;
  x2 = XEXP (x1, 0);
  goto L25679;

 L24623: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == HImode)
    goto L32280;
  x2 = XEXP (x1, 0);
  goto L25679;

 L32280: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L24624;
    }
 L32281: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L24648;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L24624: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24625;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32281;

 L24625: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24626;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32281;

 L24626: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4763 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && reload_completed))
    {
      return gen_split_2212 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32281;

 L24648: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24649;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24649: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24650;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L24650: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4774 "../../gcc/config/i386/i386.md"
(TARGET_80387
    && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
        || TARGET_MIX_SSE_I387)
    && reload_completed))
    {
      return gen_split_2215 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32157: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, TImode))
    {
      operands[0] = x2;
      goto L25140;
    }
 L32160: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, TImode))
    {
      operands[0] = x2;
      goto L25273;
    }
  goto L25679;

 L25140: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode)
    goto L32282;
  x2 = XEXP (x1, 0);
  goto L32160;

 L32282: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L25141;
    case MINUS:
      goto L25256;
    case NEG:
      goto L25575;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32160;

 L25141: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25142;
    }
  x2 = XEXP (x1, 0);
  goto L32160;

 L25142: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, TImode))
    {
      operands[2] = x3;
      goto L25143;
    }
  x2 = XEXP (x1, 0);
  goto L32160;

 L25143: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25144;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32160;

 L25144: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 5476 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2293 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32160;

 L25256: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25257;
    }
  x2 = XEXP (x1, 0);
  goto L32160;

 L25257: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x86_64_general_operand (x3, TImode))
    {
      operands[2] = x3;
      goto L25258;
    }
  x2 = XEXP (x1, 0);
  goto L32160;

 L25258: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25259;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32160;

 L25259: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6395 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2312 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32160;

 L25575: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25576;
    }
  x2 = XEXP (x1, 0);
  goto L32160;

 L25576: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25577;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32160;

 L25577: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 8512 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2406 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32160;

 L25273: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode)
    goto L32285;
  x2 = XEXP (x1, 0);
  goto L25679;

 L32285: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MULT:
      goto L25274;
    case ASHIFT:
      goto L25745;
    case LSHIFTRT:
      goto L25829;
    case ASHIFTRT:
      goto L25837;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25274: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == TImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L25275;
  x2 = XEXP (x1, 0);
  goto L25679;

 L25275: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L25276;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25276: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == TImode
      && GET_CODE (x3) == ZERO_EXTEND)
    goto L25277;
  x2 = XEXP (x1, 0);
  goto L25679;

 L25277: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L25278;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25278: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25279;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25279: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 6854 "../../gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed
  && true_regnum (operands[1]) == DX_REG) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2338 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25745: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonmemory_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25746;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25746: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25747;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25747: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25748;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25748: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 8991 "../../gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2444 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25829: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25830;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25830: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25831;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25831: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25832;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25832: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9617 "../../gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2468 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25837: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25838;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25838: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25839;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25839: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25840;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25840: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9617 "../../gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 788 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2469 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32159: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L25164;
    }
  goto L25679;

 L25164: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == PLUS)
    goto L25165;
  x2 = XEXP (x1, 0);
  goto L25679;

 L25165: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L25166;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25166: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25167;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25167: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25168;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25168: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 5794 "../../gcc/config/i386/i386.md"
(reload_completed && ix86_lea_for_add_ok (insn, operands)))
    {
      return gen_split_2296 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32161: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, TFmode))
    {
      operands[0] = x2;
      goto L25669;
    }
  goto L25679;

 L25669: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 4
      && XINT (x2, 1) == 45)
    goto L25670;
  x2 = XEXP (x1, 0);
  goto L25679;

 L25670: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, TFmode))
    {
      operands[2] = x3;
      goto L25671;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25671: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, TFmode))
    {
      operands[3] = x3;
      goto L25672;
    }
  x2 = XEXP (x1, 0);
  goto L25679;

 L25672: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  operands[4] = x3;
  goto L25673;

 L25673: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  operands[5] = x3;
  goto L25674;

 L25674: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25675;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25675: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, TFmode))
    {
      operands[1] = x2;
      goto L25676;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L25676: ATTRIBUTE_UNUSED_LABEL
  if (
#line 8850 "../../gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
    || (TARGET_SSE2 && (TFmode == TFmode)))
   && reload_completed))
    {
      return gen_split_2428 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25679;

 L32162: ATTRIBUTE_UNUSED_LABEL
  if (flags_reg_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L25680;
    }
  goto L25494;

 L25680: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (compare_operator (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L25681;
    }
  x2 = XEXP (x1, 0);
  goto L25494;

 L25681: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case QImode:
      goto L32289;
    case HImode:
      goto L32290;
    case SImode:
      goto L32291;
    case DImode:
      goto L32292;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L25494;

 L32289: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NOT)
    goto L25682;
  x2 = XEXP (x1, 0);
  goto L25494;

 L25682: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    {
      operands[3] = x4;
      goto L25683;
    }
  x2 = XEXP (x1, 0);
  goto L25494;

 L25683: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25684;
  x2 = XEXP (x1, 0);
  goto L25494;

 L25684: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25685;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25685: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L25686;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25686: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == NOT)
    goto L25687;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25687: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 8912 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return gen_split_2433 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L32290: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NOT)
    goto L25693;
  x2 = XEXP (x1, 0);
  goto L25494;

 L25693: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, HImode))
    {
      operands[3] = x4;
      goto L25694;
    }
  x2 = XEXP (x1, 0);
  goto L25494;

 L25694: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25695;
  x2 = XEXP (x1, 0);
  goto L25494;

 L25695: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25696;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25696: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L25697;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25697: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == NOT)
    goto L25698;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25698: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 8912 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return gen_split_2434 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L32291: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NOT)
    goto L25704;
  x2 = XEXP (x1, 0);
  goto L25494;

 L25704: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L32293;
  x2 = XEXP (x1, 0);
  goto L25494;

 L32293: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L25705;
    }
 L32294: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L25727;
    }
  x2 = XEXP (x1, 0);
  goto L25494;

 L25705: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25706;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32294;

 L25706: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25707;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32294;

 L25707: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L25708;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32294;

 L25708: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == NOT)
    goto L25709;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32294;

 L25709: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3])
      && 
#line 8912 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return gen_split_2435 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32294;

 L25727: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25728;
  x2 = XEXP (x1, 0);
  goto L25494;

 L25728: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25729;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25729: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L25730;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25730: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == ZERO_EXTEND)
    goto L25731;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25731: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == NOT)
    goto L25732;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25732: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[3])
      && 
#line 8939 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return gen_split_2437 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L32292: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == NOT)
    goto L25715;
  x2 = XEXP (x1, 0);
  goto L25494;

 L25715: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, DImode))
    {
      operands[3] = x4;
      goto L25716;
    }
  x2 = XEXP (x1, 0);
  goto L25494;

 L25716: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25717;
  x2 = XEXP (x1, 0);
  goto L25494;

 L25717: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25718;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25718: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L25719;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25719: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NOT)
    goto L25720;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L25720: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3])
      && (
#line 8912 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2436 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25494;

 L26144: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == IF_THEN_ELSE)
    goto L26145;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26145: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (bt_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L26146;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26146: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L32295;
    case DImode:
      goto L32296;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L32295: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x4))
    {
    case ZERO_EXTRACT:
      goto L26147;
    case AND:
      goto L26211;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26147: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, SImode))
    {
      operands[1] = x5;
      goto L26148;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26148: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L26149;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26149: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 2);
  if (GET_MODE (x5) == SImode)
    goto L32298;
  x2 = XEXP (x1, 0);
  goto L26460;

 L32298: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x5))
    {
    case ZERO_EXTEND:
      goto L26150;
    case AND:
      goto L26182;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26150: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, QImode))
    {
      operands[2] = x6;
      goto L26151;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26151: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26152;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26152: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L26153;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26153: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L26154;

 L26154: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L26155;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26155: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26156;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26156: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10800 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)) && 
#line 10802 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2519 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26182: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L26183;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26183: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (const_int_operand (x6, SImode))
    {
      operands[3] = x6;
      goto L26184;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26184: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L26185;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26185: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[4] = x4;
  goto L26186;

 L26186: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L26187;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26187: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26188;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26188: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10834 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
      == GET_MODE_BITSIZE (SImode)-1) && 
#line 10838 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2521 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26211: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == SImode
      && GET_CODE (x5) == LSHIFTRT)
    goto L26212;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26212: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, SImode))
    {
      operands[1] = x6;
      goto L26213;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26213: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) == QImode)
    goto L32300;
  x2 = XEXP (x1, 0);
  goto L26460;

 L32300: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x6, QImode))
    {
      operands[2] = x6;
      goto L26214;
    }
 L32301: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x6) == SUBREG
      && XINT (x6, 1) == 0)
    goto L26230;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26214: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L26215;
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L32301;

 L26215: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26216;
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L32301;

 L26216: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L26217;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L32301;

 L26217: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L26218;

 L26218: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L26219;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L32301;

 L26219: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26220;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L32301;

 L26220: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10868 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)) && 
#line 10870 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2523 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  goto L32301;

 L26230: ATTRIBUTE_UNUSED_LABEL
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) == SImode
      && GET_CODE (x7) == AND)
    goto L26231;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26231: ATTRIBUTE_UNUSED_LABEL
  x8 = XEXP (x7, 0);
  if (register_operand (x8, SImode))
    {
      operands[2] = x8;
      goto L26232;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26232: ATTRIBUTE_UNUSED_LABEL
  x8 = XEXP (x7, 1);
  if (const_int_operand (x8, SImode))
    {
      operands[3] = x8;
      goto L26233;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26233: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L26234;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26234: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26235;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26235: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L26236;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26236: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[4] = x4;
  goto L26237;

 L26237: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L26238;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26238: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26239;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26239: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 10905 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & 0x1f) == 0x1f) && 
#line 10908 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2524 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L32296: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x4) == ZERO_EXTRACT)
    goto L26163;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26163: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, DImode))
    {
      operands[1] = x5;
      goto L26164;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26164: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (x5 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L26165;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26165: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 2);
  if (GET_MODE (x5) == SImode)
    goto L32302;
  x2 = XEXP (x1, 0);
  goto L26460;

 L32302: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x5))
    {
    case ZERO_EXTEND:
      goto L26166;
    case AND:
      goto L26198;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26166: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, QImode))
    {
      operands[2] = x6;
      goto L26167;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26167: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26168;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26168: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L26169;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26169: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[3] = x4;
  goto L26170;

 L26170: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L26171;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26171: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26172;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26172: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && ((
#line 10800 "../../gcc/config/i386/i386.md"
(TARGET_USE_BT || optimize_function_for_size_p (cfun)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 10802 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2520 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26198: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (register_operand (x6, SImode))
    {
      operands[2] = x6;
      goto L26199;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26199: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (const_int_operand (x6, SImode))
    {
      operands[3] = x6;
      goto L26200;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L26200: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF)
    goto L26201;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26201: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  operands[4] = x4;
  goto L26202;

 L26202: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC)
    goto L26203;
  x2 = XEXP (x1, 0);
  goto L26460;

 L26203: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26204;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26204: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && ((
#line 10834 "../../gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 10838 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2522 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L25495: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == AND)
    goto L25496;
  x2 = XEXP (x1, 0);
  goto L25502;

 L25496: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L25497;
  x2 = XEXP (x1, 0);
  goto L25502;

 L25497: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT
      && XWINT (x3, 0) == -65536L)
    goto L25498;
  x2 = XEXP (x1, 0);
  goto L25502;

 L25498: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25499;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25502;

 L25499: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7882 "../../gcc/config/i386/i386.md"
((TARGET_FAST_PREFIX && !TARGET_PARTIAL_REG_STALL)
    || optimize_function_for_size_p (cfun)))
    {
      return gen_split_2382 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25502;

 L25503: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == AND)
    goto L25504;
  x2 = XEXP (x1, 0);
  goto L25518;

 L25504: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L25505;
  x2 = XEXP (x1, 0);
  goto L25518;

 L25505: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT)
    goto L32304;
  x2 = XEXP (x1, 0);
  goto L25518;

 L32304: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x3, 0) == XWINT (x3, 0))
    switch ((int) XWINT (x3, 0))
      {
      case -256L:
        goto L25506;
      case -65281L:
        goto L25514;
      default:
        break;
      }
  x2 = XEXP (x1, 0);
  goto L25518;

 L25506: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25507;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25518;

 L25507: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7892 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && reload_completed))
    {
      return gen_split_2383 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25518;

 L25514: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25515;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25518;

 L25515: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7902 "../../gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && reload_completed))
    {
      return gen_split_2384 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25518;

 L25519: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case AND:
      goto L25520;
    case IOR:
      goto L25536;
    case XOR:
      goto L25544;
    case ASHIFT:
      goto L25796;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25520: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25521;
    }
 L25528: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25529;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25521: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25522;
    }
  x3 = XEXP (x2, 0);
  goto L25528;

 L25522: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25523;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L25528;

 L25523: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8129 "../../gcc/config/i386/i386.md"
(reload_completed
    && QI_REG_P (operands[0])
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(~INTVAL (operands[2]) & ~(255 << 8))
    && GET_MODE (operands[0]) != QImode))
    {
      return gen_split_2385 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L25528;

 L25529: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25530;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25530: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25531;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L25531: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8152 "../../gcc/config/i386/i386.md"
(reload_completed
    && ANY_QI_REG_P (operands[0])
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(~INTVAL (operands[2]) & ~255)
    && !(INTVAL (operands[2]) & 128)
    && GET_MODE (operands[0]) != QImode))
    {
      return gen_split_2386 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L25536: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25537;
    }
 L25552: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25553;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25537: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25538;
    }
  x3 = XEXP (x2, 0);
  goto L25552;

 L25538: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25539;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L25552;

 L25539: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8388 "../../gcc/config/i386/i386.md"
(reload_completed
    && QI_REG_P (operands[0])
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~(255 << 8))
    && GET_MODE (operands[0]) != QImode))
    {
      return gen_split_2395 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L25552;

 L25553: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25554;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25554: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25555;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L25555: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8411 "../../gcc/config/i386/i386.md"
(reload_completed
    && ANY_QI_REG_P (operands[0])
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~255)
    && (INTVAL (operands[2]) & 128)
    && GET_MODE (operands[0]) != QImode))
    {
      return gen_split_2397 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L25544: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25545;
    }
 L25560: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25561;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25545: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25546;
    }
  x3 = XEXP (x2, 0);
  goto L25560;

 L25546: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25547;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L25560;

 L25547: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8388 "../../gcc/config/i386/i386.md"
(reload_completed
    && QI_REG_P (operands[0])
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~(255 << 8))
    && GET_MODE (operands[0]) != QImode))
    {
      return gen_split_2396 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L25560;

 L25561: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25562;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25562: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25563;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L25563: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8411 "../../gcc/config/i386/i386.md"
(reload_completed
    && ANY_QI_REG_P (operands[0])
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~255)
    && (INTVAL (operands[2]) & 128)
    && GET_MODE (operands[0]) != QImode))
    {
      return gen_split_2398 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L25796: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25797;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25797: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25798;
    }
  x2 = XEXP (x1, 0);
  goto L26460;

 L25798: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25799;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L25799: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 9398 "../../gcc/config/i386/i386.md"
(GET_MODE (operands[0]) == GET_MODE (operands[1])
   && reload_completed
   && true_regnum (operands[0]) != true_regnum (operands[1])))
    {
      return gen_split_2454 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26460;

 L26461: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL)
    goto L26462;
  x2 = XEXP (x1, 0);
  goto L26614;

 L26462: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MEM)
    goto L26463;
  x2 = XEXP (x1, 0);
  goto L26614;

 L26463: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      goto L32306;
    case DImode:
      goto L32307;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L26614;

 L32306: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L26464;
    }
 L32308: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L26484;
    }
  x2 = XEXP (x1, 0);
  goto L26614;

 L26464: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L26465;

 L26465: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26466;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32308;

 L26466: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26467;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32308;

 L26467: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 11448 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 11450 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2547 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32308;

 L26484: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L26485;

 L26485: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26486;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26614;

 L26486: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26487;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26614;

 L26487: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 11469 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 11471 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2549 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26614;

 L32307: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L26474;
    }
 L32309: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L26494;
    }
  x2 = XEXP (x1, 0);
  goto L26614;

 L26474: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L26475;

 L26475: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26476;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32309;

 L26476: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26477;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32309;

 L26477: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 11448 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 11450 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2548 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32309;

 L26494: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L26495;

 L26495: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26496;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26614;

 L26496: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26497;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26614;

 L26497: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 11469 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 11471 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2550 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26614;

 L32163: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L26615;
    }
 L32168: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L26791;
    }
 L32170: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L26813;
    }
  goto L27139;

 L26615: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32310;
  x2 = XEXP (x1, 0);
  goto L32168;

 L32310: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L26616;
    case UNSPEC:
      goto L32312;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32168;

 L26616: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 4
      && XINT (x3, 1) == 21)
    goto L26617;
  x2 = XEXP (x1, 0);
  goto L32168;

 L26617: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (tls_modbase_operand (x4, SImode))
    {
      operands[3] = x4;
      goto L26618;
    }
  x2 = XEXP (x1, 0);
  goto L32168;

 L26618: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  operands[4] = x4;
  goto L26619;

 L26619: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (register_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L26620;
    }
  x2 = XEXP (x1, 0);
  goto L32168;

 L26620: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 3);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == REG
      && XINT (x4, 0) == 7)
    goto L26621;
  x2 = XEXP (x1, 0);
  goto L32168;

 L26621: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == CONST)
    goto L26622;
  x2 = XEXP (x1, 0);
  goto L32168;

 L26622: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 1
      && XINT (x4, 1) == 6)
    goto L26623;
  x2 = XEXP (x1, 0);
  goto L32168;

 L26623: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (tls_symbolic_operand (x5, SImode))
    {
      operands[1] = x5;
      goto L26624;
    }
  x2 = XEXP (x1, 0);
  goto L32168;

 L26624: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26625;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32168;

 L26625: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return gen_split_2584 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32168;

 L32312: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 54)
    goto L26776;
  x2 = XEXP (x1, 0);
  goto L32168;

 L26776: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26777;
    }
  x2 = XEXP (x1, 0);
  goto L32168;

 L26777: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26778;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32168;

 L26778: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L26779;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32168;

 L26779: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14785 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2674 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32168;

 L26791: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 54)
    goto L26792;
  x2 = XEXP (x1, 0);
  goto L32170;

 L26792: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26793;
    }
  x2 = XEXP (x1, 0);
  goto L32170;

 L26793: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26794;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32170;

 L26794: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L26795;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32170;

 L26795: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14794 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2676 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32170;

 L26813: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32313;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32313: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L32315;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32315: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32317;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32317: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26814;
    case 63L:
      goto L26918;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26814: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26815;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26815: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26816;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26816: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 14935 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2698 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26918: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26919;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26919: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26920;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26920: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15193 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2718 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32164: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L26629;
    }
 L32171: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L26820;
    }
  goto L27139;

 L26629: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L26630;
  x2 = XEXP (x1, 0);
  goto L32171;

 L26630: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 3
      && XINT (x3, 1) == 21)
    goto L26631;
  x2 = XEXP (x1, 0);
  goto L32171;

 L26631: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (tls_modbase_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L26632;
    }
  x2 = XEXP (x1, 0);
  goto L32171;

 L26632: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  operands[3] = x4;
  goto L26633;

 L26633: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 2);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == REG
      && XINT (x4, 0) == 7)
    goto L26634;
  x2 = XEXP (x1, 0);
  goto L32171;

 L26634: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == CONST)
    goto L26635;
  x2 = XEXP (x1, 0);
  goto L32171;

 L26635: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode
      && GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 1
      && XINT (x4, 1) == 6)
    goto L26636;
  x2 = XEXP (x1, 0);
  goto L32171;

 L26636: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (tls_symbolic_operand (x5, VOIDmode))
    {
      operands[1] = x5;
      goto L26637;
    }
  x2 = XEXP (x1, 0);
  goto L32171;

 L26637: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26638;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32171;

 L26638: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return gen_split_2586 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32171;

 L26820: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32319;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32319: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L32321;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32321: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32323;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32323: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26821;
    case 63L:
      goto L26925;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26821: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26822;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26822: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26823;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26823: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 14935 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2699 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26925: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26926;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26926: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26927;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26927: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15193 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2719 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32165: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L26670;
    }
  goto L27139;

 L26670: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode)
    goto L32325;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32325: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L32330;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32330: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32335;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32335: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 64L:
      goto L26671;
    case 58L:
      goto L26800;
    case 59L:
      goto L26904;
    case 60L:
      goto L27008;
    case 61L:
      goto L27015;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26671: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode)
    goto L32341;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32341: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == FLOAT_EXTEND)
    goto L26690;
  if (register_operand (x3, XFmode))
    {
      operands[2] = x3;
      goto L26672;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26690: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SFmode:
      goto L32342;
    case DFmode:
      goto L32343;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L32342: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, SFmode))
    {
      operands[2] = x4;
      goto L26691;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26691: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L26692;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26692: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L26693;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26693: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 65)
    goto L26694;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26694: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L26695;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26695: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 13703 "../../gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[0]))
   && can_create_pseudo_p ()))
    {
      return gen_split_2602 (insn, operands);
    }
 L26717: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x4, operands[2])
      && 
#line 13715 "../../gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[1]))
   && can_create_pseudo_p ()))
    {
      return gen_split_2604 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32343: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x4, DFmode))
    {
      operands[2] = x4;
      goto L26702;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26702: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L26703;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26703: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L26704;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26704: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 65)
    goto L26705;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26705: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (GET_MODE (x3) == XFmode
      && GET_CODE (x3) == FLOAT_EXTEND)
    goto L26706;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26706: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[2])
      && 
#line 13703 "../../gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[0]))
   && can_create_pseudo_p ()))
    {
      return gen_split_2603 (insn, operands);
    }
 L26728: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x4, operands[2])
      && 
#line 13715 "../../gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[1]))
   && can_create_pseudo_p ()))
    {
      return gen_split_2605 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26672: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L26673;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26673: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L26674;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26674: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 65)
    goto L26675;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26675: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2])
      && 
#line 13667 "../../gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[0]))
   && can_create_pseudo_p ()))
    {
      return gen_split_2600 (insn, operands);
    }
 L26684: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x3, operands[2])
      && 
#line 13677 "../../gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[1]))
   && can_create_pseudo_p ()))
    {
      return gen_split_2601 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26800: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26801;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26801: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26802;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26802: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 14841 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 14845 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2693 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26904: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26905;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26905: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26906;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26906: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 15099 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15103 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2713 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27008: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L27009;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L27009: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27010;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27010: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 15355 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15359 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2733 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27015: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L27016;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L27016: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27017;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27017: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 15446 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15450 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2737 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32166: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L26767;
    }
 L32167: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L26783;
    }
 L32169: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L26806;
    }
  goto L27139;

 L26767: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 54)
    goto L26768;
  x2 = XEXP (x1, 0);
  goto L32167;

 L26768: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26769;
    }
  x2 = XEXP (x1, 0);
  goto L32167;

 L26769: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26770;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32167;

 L26770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26771;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32167;

 L26771: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14785 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2673 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32167;

 L26783: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 54)
    goto L26784;
  x2 = XEXP (x1, 0);
  goto L32169;

 L26784: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26785;
    }
  x2 = XEXP (x1, 0);
  goto L32169;

 L26785: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26786;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32169;

 L26786: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26787;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32169;

 L26787: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14794 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2675 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32169;

 L26806: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L32344;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32344: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == UNSPEC)
    goto L32346;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32346: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32348;
  x2 = XEXP (x1, 0);
  goto L27139;

 L32348: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26807;
    case 63L:
      goto L26911;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26807: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26808;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26808: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26809;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26809: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 14931 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 14935 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2697 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26911: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26912;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L26912: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26913;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L26913: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 15189 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15193 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2717 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32172: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SImode))
    {
      operands[0] = x2;
      goto L27973;
    }
  goto L27139;

 L27973: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == SUBREG
      && XINT (x2, 1) == 0)
    goto L27974;
  x2 = XEXP (x1, 0);
  goto L27139;

 L27974: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L27975;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L27975: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27976;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27976: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L27977;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27977: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 520 "../../gcc/config/i386/sse.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES) && 
#line 522 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_2985 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32173: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V8SFmode))
    {
      operands[0] = x2;
      goto L27989;
    }
  goto L27139;

 L27989: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, V8SFmode))
    {
      operands[3] = x2;
      goto L27990;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L27990: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V8SFmode))
    {
      operands[1] = x3;
      goto L27991;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L27991: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L27992;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27992: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[2] = x2;
      goto L27993;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27993: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 733 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 130 "../../gcc/config/i386/sse.md"
(TARGET_AVX)) && 
#line 735 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3034 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32174: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[0] = x2;
      goto L27997;
    }
  goto L27139;

 L27997: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L27998;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L27998: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4SFmode))
    {
      operands[1] = x3;
      goto L27999;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L27999: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L28000;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L28000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L28001;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L28001: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 733 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 735 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3035 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32175: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4DFmode))
    {
      operands[0] = x2;
      goto L28005;
    }
  goto L27139;

 L28005: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, V4DFmode))
    {
      operands[3] = x2;
      goto L28006;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L28006: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V4DFmode))
    {
      operands[1] = x3;
      goto L28007;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L28007: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L28008;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L28008: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[2] = x2;
      goto L28009;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L28009: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 733 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_AVX)) && 
#line 735 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3036 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L32176: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V2DFmode))
    {
      operands[0] = x2;
      goto L28013;
    }
  goto L27139;

 L28013: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L28014;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L28014: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L28015;
    }
  x2 = XEXP (x1, 0);
  goto L27139;

 L28015: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L28016;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L28016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L28017;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L28017: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 733 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 131 "../../gcc/config/i386/sse.md"
(TARGET_SSE2)) && 
#line 735 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3037 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27139;

 L27140: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (compare_operator (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L27141;
    }
  x2 = XEXP (x1, 0);
  goto L27131;

 L27141: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == AND)
    goto L27142;
  x2 = XEXP (x1, 0);
  goto L27131;

 L27142: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (aligned_operand (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L27143;
    }
  x2 = XEXP (x1, 0);
  goto L27131;

 L27143: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const_int_operand (x4, VOIDmode))
    {
      operands[4] = x4;
      goto L27144;
    }
  x2 = XEXP (x1, 0);
  goto L27131;

 L27144: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27145;
  x2 = XEXP (x1, 0);
  goto L27131;

 L27145: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L27146;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27131;

 L27146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L27147;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27131;

 L27147: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == AND)
    goto L27148;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27131;

 L27148: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[3]))
    goto L27149;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27131;

 L27149: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[4])
      && 
#line 16876 "../../gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL && reload_completed
   && optimize_insn_for_speed_p ()
   && ((GET_MODE (operands[1]) == HImode && ! TARGET_FAST_PREFIX)
       || (GET_MODE (operands[1]) == QImode && TARGET_PROMOTE_QImode))
   /* Ensure that the operand will remain sign-extended immediate.  */
   && ix86_match_ccmode (insn, INTVAL (operands[4]) >= 0 ? CCNOmode : CCZmode)))
    {
      return gen_split_2788 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L27131;

 L27160: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == NEG)
    goto L27161;
  if (promotable_binary_operator (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L27133;
    }
  goto ret0;

 L27161: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L27162;
    }
  goto ret0;

 L27162: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27163;
  goto ret0;

 L27163: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 16924 "../../gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL && reload_completed
   && (GET_MODE (operands[0]) == HImode
       || (GET_MODE (operands[0]) == QImode
	   && (TARGET_PROMOTE_QImode
	       || optimize_insn_for_size_p ())))))
    {
      return gen_split_2790 (insn, operands);
    }
  goto ret0;

 L27133: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L27134;
    }
  goto ret0;

 L27134: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (aligned_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L27135;
    }
  goto ret0;

 L27135: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27136;
  goto ret0;

 L27136: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 16845 "../../gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL && reload_completed
   && ((GET_MODE (operands[0]) == HImode
	&& ((optimize_function_for_speed_p (cfun) && !TARGET_FAST_PREFIX)
            /* ??? next two lines just !satisfies_constraint_K (...) */
	    || !CONST_INT_P (operands[2])
	    || satisfies_constraint_K (operands[2])))
       || (GET_MODE (operands[0]) == QImode
	   && (TARGET_PROMOTE_QImode || optimize_function_for_size_p (cfun))))))
    {
      return gen_split_2787 (insn, operands);
    }
  goto ret0;
 ret0:
  return 0;
}

static rtx
split_3 (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case DImode:
      goto L32354;
    case HImode:
      goto L32356;
    case SImode:
      goto L32357;
    case SFmode:
      goto L32361;
    case DFmode:
      goto L32362;
    case XFmode:
      goto L32363;
    case TImode:
      goto L32364;
    default:
      break;
    }
 L25580: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case REG:
      goto L32365;
    case PC:
      goto L26243;
    default:
     break;
   }
 L25589: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L25590;
    }
 L25598: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L32366;
    case DFmode:
      goto L32367;
    case XFmode:
      goto L32368;
    default:
      break;
    }
 L26536: ATTRIBUTE_UNUSED_LABEL
  operands[0] = x2;
  goto L26537;
 L26567: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32369;
    case CCmode:
      goto L32370;
    case DImode:
      goto L32371;
    default:
      break;
    }
  goto ret0;

 L32354: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L24229;
    }
 L32355: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L24249;
    }
 L32360: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L24484;
    }
  goto L25580;

 L24229: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == SIGN_EXTEND)
    goto L24230;
  x2 = XEXP (x1, 0);
  goto L32355;

 L24230: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24231;
    }
  x2 = XEXP (x1, 0);
  goto L32355;

 L24231: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24232;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32355;

 L24232: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L24233;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32355;

 L24233: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24234;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32355;

 L24234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24235;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32355;

 L24235: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3667 "../../gcc/config/i386/i386.md"
((reload_completed
    && dead_or_set_p (insn, operands[1])
    && !reg_mentioned_p (operands[1], operands[0]))))
    {
      return gen_split_2140 (insn, operands);
    }
 L24245: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3682 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2141 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32355;

 L24249: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32375;
  x2 = XEXP (x1, 0);
  goto L32360;

 L32375: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case SIGN_EXTEND:
      goto L24250;
    case FIX:
      goto L24455;
    case DIV:
      goto L25297;
    case UDIV:
      goto L25392;
    case ROTATE:
      goto L25931;
    case ROTATERT:
      goto L25953;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32360;

 L24250: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L24251;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L24251: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24252;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L24253;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24253: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24254;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24254: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24255;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24255: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3712 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2142 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24455: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24456;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L24456: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24457;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24457: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24458;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24458: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24459;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24459: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L24460;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24460: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4526 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2191 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25297: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L25298;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L25298: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L25299;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L25299: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25300;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25300: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L25301;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25301: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MOD)
    goto L25302;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25302: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25303;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25303: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25304;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25304: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25305;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25305: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L32381;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L32381: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L32383;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L32383: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L32385;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L32385: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7073 "../../gcc/config/i386/i386.md"
(TARGET_USE_8BIT_IDIV
   && TARGET_QIMODE_MATH
   && can_create_pseudo_p ()
   && !optimize_insn_for_size_p ()) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2353 (insn, operands);
    }
 L32386: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7124 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2358 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25392: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L25393;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L25393: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L25394;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L25394: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25395;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L25396;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UMOD)
    goto L25397;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25397: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25398;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25398: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25399;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25399: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25400;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25400: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L32387;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L32387: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L32389;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L32389: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L32391;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L32391: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7246 "../../gcc/config/i386/i386.md"
(TARGET_USE_8BIT_IDIV
   && TARGET_QIMODE_MATH
   && can_create_pseudo_p ()
   && !optimize_insn_for_size_p ()) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2364 (insn, operands);
    }
 L32392: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 7284 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 784 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2369 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25931: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25932;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L25932: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25933;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L25933: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25934;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25934: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L25935;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25935: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25936;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25936: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L25937;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25937: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10076 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2492 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25953: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25954;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L25954: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_31_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25955;
    }
  x2 = XEXP (x1, 0);
  goto L32360;

 L25955: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25956;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25956: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L25957;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25957: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25958;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25958: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L25959;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L25959: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10104 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      return gen_split_2494 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32360;

 L24484: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == FIX)
    goto L24485;
  x2 = XEXP (x1, 0);
  goto L25580;

 L24485: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24486;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L24486: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24487;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24487: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24488;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24488: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24489;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24489: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L24490;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24490: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4536 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2194 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L32356: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24434;
    }
 L32358: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24464;
    }
  goto L25580;

 L24434: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L32393;
  x2 = XEXP (x1, 0);
  goto L32358;

 L32393: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L24435;
    case DIV:
      goto L25340;
    case UDIV:
      goto L25435;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32358;

 L24435: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24436;
    }
  x2 = XEXP (x1, 0);
  goto L32358;

 L24436: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24437;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L24437: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24438;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L24438: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24439;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L24439: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L24440;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L24440: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4526 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2189 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25340: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L25341;
    }
  x2 = XEXP (x1, 0);
  goto L32358;

 L25341: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L25342;
    }
  x2 = XEXP (x1, 0);
  goto L32358;

 L25342: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25343;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25343: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L25344;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MOD)
    goto L25345;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25345: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25346: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25347;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25347: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25348;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25348: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 7124 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)))
    {
      return gen_split_2356 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25435: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L25436;
    }
  x2 = XEXP (x1, 0);
  goto L32358;

 L25436: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L25437;
    }
  x2 = XEXP (x1, 0);
  goto L32358;

 L25437: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25438;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25438: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L25439;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25439: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == UMOD)
    goto L25440;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25440: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25441;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25441: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25442;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25442: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25443;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L25443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 7284 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 783 "../../gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)))
    {
      return gen_split_2367 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32358;

 L24464: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == FIX)
    goto L24465;
  x2 = XEXP (x1, 0);
  goto L25580;

 L24465: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24466;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L24466: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24467;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24467: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24468;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24468: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24469;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24469: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L24470;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24470: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4536 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2192 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L32357: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L24444;
    }
 L32359: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L24474;
    }
  goto L25580;

 L24444: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32396;
  x2 = XEXP (x1, 0);
  goto L32359;

 L32396: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L24445;
    case DIV:
      goto L25284;
    case UDIV:
      goto L25379;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32359;

 L24445: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24446;
    }
  x2 = XEXP (x1, 0);
  goto L32359;

 L24446: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24447;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L24447: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24448;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L24448: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24449;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L24449: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L24450;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L24450: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4526 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2190 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25284: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L25285;
    }
  x2 = XEXP (x1, 0);
  goto L32359;

 L25285: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L25286;
    }
  x2 = XEXP (x1, 0);
  goto L32359;

 L25286: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25287;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25287: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L25288;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25288: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MOD)
    goto L25289;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25289: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25290;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25290: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25291;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25291: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25292;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25292: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L32399;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L32399: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L32401;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L32401: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L32403;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L32403: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7073 "../../gcc/config/i386/i386.md"
(TARGET_USE_8BIT_IDIV
   && TARGET_QIMODE_MATH
   && can_create_pseudo_p ()
   && !optimize_insn_for_size_p ()))
    {
      return gen_split_2352 (insn, operands);
    }
 L32404: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7124 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2357 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25379: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L25380;
    }
  x2 = XEXP (x1, 0);
  goto L32359;

 L25380: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L25381;
    }
  x2 = XEXP (x1, 0);
  goto L32359;

 L25381: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25382;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25382: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L25383;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25383: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UMOD)
    goto L25384;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25384: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25385;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25385: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25386;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25386: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25387;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L25387: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L32405;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L32405: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L32407;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L32407: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L32409;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L32409: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7246 "../../gcc/config/i386/i386.md"
(TARGET_USE_8BIT_IDIV
   && TARGET_QIMODE_MATH
   && can_create_pseudo_p ()
   && !optimize_insn_for_size_p ()))
    {
      return gen_split_2363 (insn, operands);
    }
 L32410: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7284 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2368 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32359;

 L24474: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == FIX)
    goto L24475;
  x2 = XEXP (x1, 0);
  goto L25580;

 L24475: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24476;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L24476: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24477;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24477: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24478;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24478: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24479;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24479: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L24480;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L24480: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4536 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2193 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L32361: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L25064;
    }
  goto L25580;

 L25064: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == UNSIGNED_FLOAT)
    goto L25065;
  x2 = XEXP (x1, 0);
  goto L25580;

 L25065: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32411;
  x2 = XEXP (x1, 0);
  goto L25580;

 L32411: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25066;
    }
 L32412: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25096;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L25066: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25067;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32412;

 L25067: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25068;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32412;

 L25068: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25069;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32412;

 L25069: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L25070;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32412;

 L25070: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5362 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE
   && reload_completed))
    {
      return gen_split_2274 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32412;

 L25096: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25097;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25097: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25098;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25098: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25099;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25099: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L25100;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25100: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5377 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE
   && reload_completed))
    {
      return gen_split_2277 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L32362: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L25074;
    }
  goto L25580;

 L25074: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == UNSIGNED_FLOAT)
    goto L25075;
  x2 = XEXP (x1, 0);
  goto L25580;

 L25075: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32413;
  x2 = XEXP (x1, 0);
  goto L25580;

 L32413: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25076;
    }
 L32414: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25106;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L25076: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25077;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32414;

 L25077: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25078;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32414;

 L25078: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25079;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32414;

 L25079: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L25080;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32414;

 L25080: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5362 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE
   && reload_completed))
    {
      return gen_split_2275 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32414;

 L25106: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25107;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25107: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25108;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25108: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25109;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25109: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L25110;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25110: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5377 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE
   && reload_completed))
    {
      return gen_split_2278 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L32363: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L25084;
    }
  goto L25580;

 L25084: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == UNSIGNED_FLOAT)
    goto L25085;
  x2 = XEXP (x1, 0);
  goto L25580;

 L25085: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32415;
  x2 = XEXP (x1, 0);
  goto L25580;

 L32415: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25086;
    }
 L32416: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L25116;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L25086: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25087;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32416;

 L25087: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25088;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32416;

 L25088: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25089;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32416;

 L25089: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L25090;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32416;

 L25090: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5362 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE
   && reload_completed))
    {
      return gen_split_2276 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32416;

 L25116: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25117;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25117: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25118;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25118: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25119;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25119: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L25120;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25120: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5377 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE
   && reload_completed))
    {
      return gen_split_2279 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L32364: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, TImode))
    {
      operands[0] = x2;
      goto L25941;
    }
  goto L25580;

 L25941: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode)
    goto L32417;
  x2 = XEXP (x1, 0);
  goto L25580;

 L32417: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ROTATE:
      goto L25942;
    case ROTATERT:
      goto L25964;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L25580;

 L25942: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25943;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L25943: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_63_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25944;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L25944: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25945;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25945: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L25946;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25946: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25947;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25947: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L25948;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25948: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10076 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2493 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25964: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25965;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L25965: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_1_to_63_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25966;
    }
  x2 = XEXP (x1, 0);
  goto L25580;

 L25966: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25967;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25967: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L25968;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25968: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25969;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25969: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[3] = x2;
      goto L25970;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L25970: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 10104 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2495 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25580;

 L32365: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L25581;
    }
  goto L25589;

 L25581: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L25582;
    }
  x2 = XEXP (x1, 0);
  goto L25589;

 L25582: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L25583;
  x2 = XEXP (x1, 0);
  goto L25589;

 L25583: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L25584;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25589;

 L25584: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  goto L25585;

 L25585: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25586;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25589;

 L25586: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8642 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2415 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25589;

 L26243: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == IF_THEN_ELSE)
    goto L26244;
  x2 = XEXP (x1, 0);
  goto L25598;

 L26244: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_fp_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L26245;
    }
  x2 = XEXP (x1, 0);
  goto L25598;

 L26245: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L26246;
    }
  x2 = XEXP (x1, 0);
  goto L25598;

 L26246: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonimmediate_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L26247;
    }
  x2 = XEXP (x1, 0);
  goto L25598;

 L26247: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[3] = x3;
  goto L26248;

 L26248: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  operands[4] = x3;
  goto L26249;

 L26249: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26250;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25598;

 L26250: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L26251;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25598;

 L26251: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26252;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25598;

 L26252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 11017 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2525 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25598;

 L25590: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L25591;
    }
  x2 = XEXP (x1, 0);
  goto L25598;

 L25591: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25592;
    }
  x2 = XEXP (x1, 0);
  goto L25598;

 L25592: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L25593;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25598;

 L25593: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L25594;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25598;

 L25594: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25595;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25598;

 L25595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8651 "../../gcc/config/i386/i386.md"
(reload_completed && SSE_REG_P (operands[0])))
    {
      return gen_split_2416 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L25598;

 L32366: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L25599;
    }
  goto L26536;

 L25599: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, SFmode))
    {
      operands[1] = x2;
      goto L25600;
    }
  x2 = XEXP (x1, 0);
  goto L26536;

 L25600: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L25601;
  x2 = XEXP (x1, 0);
  goto L26536;

 L25601: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L25602;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L25602: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  goto L25603;

 L25603: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25604;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L25604: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8678 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2417 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L32367: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L25608;
    }
  goto L26536;

 L25608: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, DFmode))
    {
      operands[1] = x2;
      goto L25609;
    }
  x2 = XEXP (x1, 0);
  goto L26536;

 L25609: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L25610;
  x2 = XEXP (x1, 0);
  goto L26536;

 L25610: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L25611;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L25611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  goto L25612;

 L25612: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25613;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L25613: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8702 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2418 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L32368: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L25617;
    }
  goto L26536;

 L25617: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (absneg_operator (x2, XFmode))
    {
      operands[1] = x2;
      goto L25618;
    }
  x2 = XEXP (x1, 0);
  goto L26536;

 L25618: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L25619;
  x2 = XEXP (x1, 0);
  goto L26536;

 L25619: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L25620;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L25620: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[2] = x2;
  goto L25621;

 L25621: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25622;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L25622: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 8740 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2419 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26536;

 L26537: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL)
    goto L26538;
  x2 = XEXP (x1, 0);
  goto L26567;

 L26538: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MEM)
    goto L26539;
  x2 = XEXP (x1, 0);
  goto L26567;

 L26539: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode)
    goto L32419;
  x2 = XEXP (x1, 0);
  goto L26567;

 L32419: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L26540;
    }
 L32420: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L26555;
    }
  x2 = XEXP (x1, 0);
  goto L26567;

 L26540: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L26541;

 L26541: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L26542;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32420;

 L26542: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L26543;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32420;

 L26543: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L26544;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32420;

 L26544: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L26545;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32420;

 L26545: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L26546;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32420;

 L26546: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26547;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32420;

 L26547: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[4] = x2;
      goto L26548;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32420;

 L26548: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11554 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !TARGET_64BIT && !SIBLING_CALL_P (insn)) && 
#line 11556 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2553 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L32420;

 L26555: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L26556;

 L26556: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L26557;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26567;

 L26557: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L26558;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26567;

 L26558: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L26559;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26567;

 L26559: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L26560;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26567;

 L26560: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L26561;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26567;

 L26561: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26562;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26567;

 L26562: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[4] = x2;
      goto L26563;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26567;

 L26563: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11581 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !TARGET_64BIT && SIBLING_CALL_P (insn)) && 
#line 11583 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2554 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26567;

 L32369: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L26568;
    }
  goto ret0;

 L26568: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32421;
  goto ret0;

 L32421: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FFS:
      goto L26569;
    case UNSPEC:
      goto L32424;
    default:
     break;
   }
  goto ret0;

 L26569: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L26570;
    }
  goto ret0;

 L26570: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26571;
  goto ret0;

 L26571: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L26572;
    }
  goto ret0;

 L26572: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26573;
  goto ret0;

 L26573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 11999 "../../gcc/config/i386/i386.md"
(!TARGET_CMOVE) && 
#line 12001 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2568 (insn, operands);
    }
  goto ret0;

 L32424: ATTRIBUTE_UNUSED_LABEL
  switch (XVECLEN (x2, 0))
    {
    case 5:
      goto L32426;
    case 3:
      goto L32427;
    default:
      break;
    }
  goto ret0;

 L32426: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 109)
    goto L28219;
  goto ret0;

 L28219: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (reg_not_xmm0_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L28220;
    }
  goto ret0;

 L28220: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (register_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L28221;
    }
  goto ret0;

 L28221: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (nonimm_not_xmm0_operand (x3, V16QImode))
    {
      operands[4] = x3;
      goto L28222;
    }
  goto ret0;

 L28222: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (register_operand (x3, SImode))
    {
      operands[5] = x3;
      goto L28223;
    }
  goto ret0;

 L28223: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[6] = x3;
      goto L28224;
    }
  goto ret0;

 L28224: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L28225;
  goto ret0;

 L28225: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L28226;
    }
  goto ret0;

 L28226: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 5
      && XINT (x2, 1) == 109)
    goto L28227;
  goto ret0;

 L28227: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L28228;
  goto ret0;

 L28228: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L28229;
  goto ret0;

 L28229: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[4]))
    goto L28230;
  goto ret0;

 L28230: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (rtx_equal_p (x3, operands[5]))
    goto L28231;
  goto ret0;

 L28231: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (rtx_equal_p (x3, operands[6]))
    goto L28232;
  goto ret0;

 L28232: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L28233;
  goto ret0;

 L28233: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L28234;
  goto ret0;

 L28234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 5
      && XINT (x2, 1) == 109)
    goto L28235;
  goto ret0;

 L28235: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L28236;
  goto ret0;

 L28236: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L28237;
  goto ret0;

 L28237: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[4]))
    goto L28238;
  goto ret0;

 L28238: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (rtx_equal_p (x3, operands[5]))
    goto L28239;
  goto ret0;

 L28239: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (rtx_equal_p (x3, operands[6])
      && (
#line 10085 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2
   && can_create_pseudo_p ()) && 
#line 10088 "../../gcc/config/i386/sse.md"
( 1)))
    {
      return gen_split_3635 (insn, operands);
    }
  goto ret0;

 L32427: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 1) == 110)
    goto L28244;
  goto ret0;

 L28244: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (reg_not_xmm0_operand (x3, V16QImode))
    {
      operands[2] = x3;
      goto L28245;
    }
  goto ret0;

 L28245: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (nonimm_not_xmm0_operand (x3, V16QImode))
    {
      operands[3] = x3;
      goto L28246;
    }
  goto ret0;

 L28246: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (const_0_to_255_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L28247;
    }
  goto ret0;

 L28247: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L28248;
  goto ret0;

 L28248: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L28249;
    }
  goto ret0;

 L28249: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == V16QImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 3
      && XINT (x2, 1) == 110)
    goto L28250;
  goto ret0;

 L28250: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L28251;
  goto ret0;

 L28251: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L28252;
  goto ret0;

 L28252: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[4]))
    goto L28253;
  goto ret0;

 L28253: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == SET)
    goto L28254;
  goto ret0;

 L28254: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L28255;
  goto ret0;

 L28255: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 3
      && XINT (x2, 1) == 110)
    goto L28256;
  goto ret0;

 L28256: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L28257;
  goto ret0;

 L28257: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L28258;
  goto ret0;

 L28258: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (rtx_equal_p (x3, operands[4])
      && (
#line 10218 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_2
   && can_create_pseudo_p ()) && 
#line 10221 "../../gcc/config/i386/sse.md"
( 1)))
    {
      return gen_split_3636 (insn, operands);
    }
  goto ret0;

 L32370: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26589;
  goto ret0;

 L26589: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 26)
    goto L26590;
  goto ret0;

 L26590: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L26591;
    }
  goto ret0;

 L26591: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26592;
  goto ret0;

 L26592: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L26593;
    }
  goto ret0;

 L26593: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26594;
  goto ret0;

 L26594: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L26595;
    }
  goto ret0;

 L26595: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12545 "../../gcc/config/i386/i386.md"
(! TARGET_POPCNT) && 
#line 12547 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2577 (insn, operands);
    }
  goto ret0;

 L32371: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L26737;
    }
 L32372: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L26747;
    }
 L32373: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L28311;
    }
 L32374: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L28321;
    }
  goto ret0;

 L26737: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 54)
    goto L26738;
  x2 = XEXP (x1, 0);
  goto L32372;

 L26738: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26739;
    }
  x2 = XEXP (x1, 0);
  goto L32372;

 L26739: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26740;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32372;

 L26740: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L26741;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32372;

 L26741: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26742;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32372;

 L26742: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26743;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32372;

 L26743: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14728 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2669 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32372;

 L26747: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 54)
    goto L26748;
  x2 = XEXP (x1, 0);
  goto L32373;

 L26748: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26749;
    }
  x2 = XEXP (x1, 0);
  goto L32373;

 L26749: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26750;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32373;

 L26750: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L26751;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32373;

 L26751: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26752;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32373;

 L26752: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26753;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32373;

 L26753: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14739 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2670 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32373;

 L28311: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 140)
    goto L28312;
  x2 = XEXP (x1, 0);
  goto L32374;

 L28312: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L28313;
    }
  x2 = XEXP (x1, 0);
  goto L32374;

 L28313: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L28314;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32374;

 L28314: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L28315;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32374;

 L28315: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L28316;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32374;

 L28316: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L28317;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32374;

 L28317: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 164 "../../gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)) && 
#line 166 "../../gcc/config/i386/sync.md"
( reload_completed)))
    {
      return gen_split_3733 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32374;

 L28321: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 140)
    goto L28322;
  goto ret0;

 L28322: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L28323;
    }
  goto ret0;

 L28323: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L28324;
  goto ret0;

 L28324: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L28325;
    }
  goto ret0;

 L28325: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L28326;
  goto ret0;

 L28326: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L28327;
    }
  goto ret0;

 L28327: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 250 "../../gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)) && 
#line 252 "../../gcc/config/i386/sync.md"
( reload_completed)))
    {
      return gen_split_3738 (insn, operands);
    }
  goto ret0;
 ret0:
  return 0;
}

static rtx
split_4 (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L24339;
    }
 L32433: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L24579;
    }
  goto ret0;

 L24339: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32439;
  x2 = XEXP (x1, 0);
  goto L32433;

 L32439: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case UNSIGNED_FIX:
      goto L24340;
    case FIX:
      goto L24556;
    case DIV:
      goto L25310;
    case UDIV:
      goto L25405;
    case PLUS:
      goto L26600;
    case UNSPEC:
      goto L32446;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32433;

 L24340: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SFmode:
      goto L32448;
    case DFmode:
      goto L32449;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L32448: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SFmode))
    {
      operands[3] = x3;
      goto L24341;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L24341: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L24342;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24342: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[4] = x2;
      goto L24343;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24343: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24344;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L24345;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24345: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24346;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SFmode))
    {
      operands[2] = x2;
      goto L24347;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24347: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4389 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)) && 
#line 4392 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2174 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L32449: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DFmode))
    {
      operands[3] = x3;
      goto L24353;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L24353: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L24354;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24354: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[4] = x2;
      goto L24355;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24355: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24356;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24356: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L24357;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24357: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24358;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V2DFmode))
    {
      operands[2] = x2;
      goto L24359;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24359: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4389 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)) && 
#line 4392 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2175 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24556: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24557;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L24557: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L24558;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24558: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24559;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24559: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L24560;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24560: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L24561;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24561: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24562;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24562: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L24563;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24563: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4667 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2201 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25310: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L25311;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L25311: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L25312;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L25312: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25313;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25313: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L25314;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25314: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MOD)
    goto L25315;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25315: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25316;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25316: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25317;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25317: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L25318;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25318: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25319;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25319: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25320;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25320: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7090 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2354 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25405: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L25406;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L25406: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L25407;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L25407: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25408;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25408: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L25409;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25409: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == UMOD)
    goto L25410;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25410: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25411;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25411: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25412;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25412: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L25413;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25413: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25414;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25414: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25415;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L25415: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 7263 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2365 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26600: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == UNSPEC
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 20)
    goto L26601;
  x2 = XEXP (x1, 0);
  goto L32433;

 L26601: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (register_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L26602;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L26602: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (constant_call_address_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L26603;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L26603: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == CONST)
    goto L26604;
  x2 = XEXP (x1, 0);
  goto L32433;

 L26604: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode
      && GET_CODE (x4) == UNSPEC
      && XVECLEN (x4, 0) == 1
      && XINT (x4, 1) == 6)
    goto L26605;
  x2 = XEXP (x1, 0);
  goto L32433;

 L26605: ATTRIBUTE_UNUSED_LABEL
  x5 = XVECEXP (x4, 0, 0);
  if (tls_symbolic_operand (x5, SImode))
    {
      operands[3] = x5;
      goto L26606;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L26606: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26607;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26607: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L26608;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26608: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26609;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26609: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[5] = x2;
      goto L26610;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26610: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26611;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      return gen_split_2582 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L32446: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32450;
  x2 = XEXP (x1, 0);
  goto L32433;

 L32450: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26868;
    case 63L:
      goto L26972;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L26868: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26869;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L26869: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26870;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26870: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26871;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26871: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26872;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26872: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26873;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26873: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26874;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26874: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L26875;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26875: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15052 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2703 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26972: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26973;
    }
  x2 = XEXP (x1, 0);
  goto L32433;

 L26973: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26974;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26975;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26975: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26976;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26976: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26977;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26977: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26978;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26978: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L26979;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L26979: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15310 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2723 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32433;

 L24579: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode)
    goto L32452;
  goto ret0;

 L32452: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L24580;
    case UNSPEC:
      goto L32455;
    default:
     break;
   }
  goto ret0;

 L24580: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24581;
    }
  goto ret0;

 L24581: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L24582;
  goto ret0;

 L24582: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24583;
    }
  goto ret0;

 L24583: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L24584;
  goto ret0;

 L24584: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L24585;
    }
  goto ret0;

 L24585: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24586;
  goto ret0;

 L24586: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L24587;
    }
  goto ret0;

 L24587: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4679 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2203 (insn, operands);
    }
  goto ret0;

 L32455: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32457;
  goto ret0;

 L32457: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26892;
    case 63L:
      goto L26996;
    default:
      break;
    }
  goto ret0;

 L26892: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26893;
    }
  goto ret0;

 L26893: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26894;
  goto ret0;

 L26894: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26895;
    }
  goto ret0;

 L26895: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26896;
  goto ret0;

 L26896: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26897;
    }
  goto ret0;

 L26897: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26898;
  goto ret0;

 L26898: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L26899;
    }
  goto ret0;

 L26899: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15066 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2705 (insn, operands);
    }
  goto ret0;

 L26996: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26997;
    }
  goto ret0;

 L26997: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26998;
  goto ret0;

 L26998: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26999;
    }
  goto ret0;

 L26999: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L27000;
  goto ret0;

 L27000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L27001;
    }
  goto ret0;

 L27001: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L27002;
  goto ret0;

 L27002: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[4] = x2;
      goto L27003;
    }
  goto ret0;

 L27003: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15324 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2725 (insn, operands);
    }
  goto ret0;
 ret0:
  return 0;
}

static rtx
split_5 (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32430;
    case HImode:
      goto L32431;
    case SFmode:
      goto L32434;
    case DFmode:
      goto L32435;
    case XFmode:
      goto L32436;
    case DImode:
      goto L32437;
    case CCmode:
      goto L32438;
    default:
      break;
    }
 L26255: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == PC)
    goto L26256;
  goto ret0;

 L32430: ATTRIBUTE_UNUSED_LABEL
  tem = split_4 (x0, insn);
  if (tem != 0)
    return tem;
  goto L26255;

 L32431: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24543;
    }
 L32432: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L24567;
    }
  goto L26255;

 L24543: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L32459;
  x2 = XEXP (x1, 0);
  goto L32432;

 L32459: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L24544;
    case UNSPEC:
      goto L32462;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32432;

 L24544: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24545;
    }
  x2 = XEXP (x1, 0);
  goto L32432;

 L24545: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L24546;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L24546: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24547;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L24547: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L24548;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L24548: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L24549;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L24549: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24550;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L24550: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L24551;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L24551: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4667 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2200 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L32462: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32464;
  x2 = XEXP (x1, 0);
  goto L32432;

 L32464: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26856;
    case 63L:
      goto L26960;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32432;

 L26856: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26857;
    }
  x2 = XEXP (x1, 0);
  goto L32432;

 L26857: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26858;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26858: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26859;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26859: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26860;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26860: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26861;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26861: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26862;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26862: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L26863;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26863: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15052 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2702 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26960: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26961;
    }
  x2 = XEXP (x1, 0);
  goto L32432;

 L26961: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26962;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26962: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26963;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26963: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26964;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26964: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26965;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26965: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26966;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L26967;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L26967: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15310 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2722 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32432;

 L24567: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode)
    goto L32466;
  x2 = XEXP (x1, 0);
  goto L26255;

 L32466: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L24568;
    case UNSPEC:
      goto L32469;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L26255;

 L24568: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24569;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L24569: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L24570;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L24570: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24571;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L24571: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L24572;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L24572: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L24573;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L24573: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24574;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L24574: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L24575;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L24575: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4679 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2202 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L32469: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32471;
  x2 = XEXP (x1, 0);
  goto L26255;

 L32471: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26880;
    case 63L:
      goto L26984;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L26880: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26881;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L26881: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26882;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26883;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26883: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26884;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26884: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26885;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26885: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26886;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26886: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L26887;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26887: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15066 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2704 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26984: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26985;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L26985: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26986;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26987;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26987: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26988;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26988: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26989;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26989: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26990;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26990: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[4] = x2;
      goto L26991;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26991: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15324 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2724 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L32434: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, SFmode))
    {
      operands[0] = x2;
      goto L24992;
    }
  goto L26255;

 L24992: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SFmode
      && GET_CODE (x2) == FLOAT)
    goto L24993;
  x2 = XEXP (x1, 0);
  goto L26255;

 L24993: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L32473;
  x2 = XEXP (x1, 0);
  goto L26255;

 L32473: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L24994;
    }
 L32474: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25030;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L24994: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L24995;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32474;

 L24995: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L24996;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32474;

 L24996: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L24997;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32474;

 L24997: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L24998;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32474;

 L24998: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24999;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32474;

 L24999: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25000;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32474;

 L25000: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5306 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
    {
      return gen_split_2268 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32474;

 L25030: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25031;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25031: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L25032;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25032: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25033;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25033: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L25034;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25034: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25035;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25035: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25036;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25036: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5331 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
    {
      return gen_split_2271 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L32435: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, DFmode))
    {
      operands[0] = x2;
      goto L25004;
    }
  goto L26255;

 L25004: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == FLOAT)
    goto L25005;
  x2 = XEXP (x1, 0);
  goto L26255;

 L25005: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L32475;
  x2 = XEXP (x1, 0);
  goto L26255;

 L32475: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25006;
    }
 L32476: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25042;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L25006: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25007;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32476;

 L25007: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L25008;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32476;

 L25008: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25009;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32476;

 L25009: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L25010;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32476;

 L25010: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25011;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32476;

 L25011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25012;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32476;

 L25012: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5306 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
    {
      return gen_split_2269 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32476;

 L25042: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25043;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25043: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L25044;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25044: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25045;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25045: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L25046;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25046: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25047;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25047: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25048;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25048: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5331 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
    {
      return gen_split_2272 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L32436: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, XFmode))
    {
      operands[0] = x2;
      goto L25016;
    }
  goto L26255;

 L25016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == XFmode
      && GET_CODE (x2) == FLOAT)
    goto L25017;
  x2 = XEXP (x1, 0);
  goto L26255;

 L25017: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L32477;
  x2 = XEXP (x1, 0);
  goto L26255;

 L32477: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25018;
    }
 L32478: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25054;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L25018: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25019;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32478;

 L25019: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L25020;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32478;

 L25020: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25021;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32478;

 L25021: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L25022;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32478;

 L25022: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25023;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32478;

 L25023: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25024;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32478;

 L25024: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5306 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
    {
      return gen_split_2270 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32478;

 L25054: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25055;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25055: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[3] = x2;
      goto L25056;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25056: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L25057;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25057: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, V4SImode))
    {
      operands[4] = x2;
      goto L25058;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25058: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25059;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25059: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L25060;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25060: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5331 "../../gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
    {
      return gen_split_2273 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L32437: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L25324;
    }
  goto L26255;

 L25324: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32479;
  x2 = XEXP (x1, 0);
  goto L26255;

 L32479: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case DIV:
      goto L25325;
    case UDIV:
      goto L25420;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L26255;

 L25325: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L25326;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L25326: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L25327;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L25327: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25328;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25328: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L25329;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25329: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == MOD)
    goto L25330;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25330: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25331;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25331: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25332;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25332: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L25333;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25333: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25334;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25334: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25335;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25335: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 7090 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2355 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25420: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L25421;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L25421: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonimmediate_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L25422;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L25422: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L25423;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25423: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L25424;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == UMOD)
    goto L25425;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25425: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[2]))
    goto L25426;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25426: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[3]))
    goto L25427;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25427: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 33)
    goto L25428;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25428: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L25429;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25429: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L25430;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L25430: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 7263 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2366 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L32438: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26577;
  goto L26255;

 L26577: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == UNSPEC
      && XVECLEN (x2, 0) == 1
      && XINT (x2, 1) == 26)
    goto L26578;
  x2 = XEXP (x1, 0);
  goto L26255;

 L26578: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L26579;
    }
  x2 = XEXP (x1, 0);
  goto L26255;

 L26579: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26580;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26580: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L26581;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26581: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26582;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26582: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L26583;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26583: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26584;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26584: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26585;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26585: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12515 "../../gcc/config/i386/i386.md"
(! TARGET_POPCNT) && 
#line 12517 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2576 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L26255;

 L26256: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == IF_THEN_ELSE)
    goto L26257;
  goto ret0;

 L26257: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_fp_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L26258;
    }
 L26273: ATTRIBUTE_UNUSED_LABEL
  if (ix86_swapped_fp_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L26274;
    }
  goto ret0;

 L26258: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L26259;
    }
  goto L26273;

 L26259: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (general_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L26260;
    }
  goto L26273;

 L26260: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[3] = x3;
  goto L26261;

 L26261: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  operands[4] = x3;
  goto L26262;

 L26262: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26263;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L26273;

 L26263: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L26264;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L26273;

 L26264: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26265;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L26273;

 L26265: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26266;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L26273;

 L26266: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26267;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L26273;

 L26267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[5] = x2;
      goto L26268;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L26273;

 L26268: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11035 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2526 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L26273;

 L26274: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (float_operator (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L26275;
    }
  goto ret0;

 L26275: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  switch (GET_MODE (x5))
    {
    case HImode:
      goto L32481;
    case SImode:
      goto L32482;
    default:
      break;
    }
  goto ret0;

 L32481: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x5, HImode))
    {
      operands[2] = x5;
      goto L26276;
    }
 L32483: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, HImode))
    {
      operands[2] = x5;
      goto L26310;
    }
  goto ret0;

 L26276: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L26277;
    }
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32483;

 L26277: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[4] = x3;
  goto L26278;

 L26278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  operands[5] = x3;
  goto L26279;

 L26279: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26280;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32483;

 L26280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L26281;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32483;

 L26281: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26282;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32483;

 L26282: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26283;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32483;

 L26283: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26284;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32483;

 L26284: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[6] = x2;
      goto L26285;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32483;

 L26285: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11079 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2527 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32483;

 L26310: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L26311;
    }
  goto ret0;

 L26311: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[4] = x3;
  goto L26312;

 L26312: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  operands[5] = x3;
  goto L26313;

 L26313: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26314;
  goto ret0;

 L26314: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L26315;
  goto ret0;

 L26315: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26316;
  goto ret0;

 L26316: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26317;
  goto ret0;

 L26317: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26318;
  goto ret0;

 L26318: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[6] = x2;
      goto L26319;
    }
  goto ret0;

 L26319: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11103 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2529 (insn, operands);
    }
  goto ret0;

 L32482: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L26293;
    }
 L32484: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, SImode))
    {
      operands[2] = x5;
      goto L26327;
    }
  goto ret0;

 L26293: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L26294;
    }
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32484;

 L26294: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[4] = x3;
  goto L26295;

 L26295: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  operands[5] = x3;
  goto L26296;

 L26296: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26297;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32484;

 L26297: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L26298;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32484;

 L26298: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26299;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32484;

 L26299: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26300;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32484;

 L26300: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26301;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32484;

 L26301: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[6] = x2;
      goto L26302;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32484;

 L26302: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11079 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2528 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L32484;

 L26327: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, VOIDmode))
    {
      operands[3] = x4;
      goto L26328;
    }
  goto ret0;

 L26328: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[4] = x3;
  goto L26329;

 L26329: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  operands[5] = x3;
  goto L26330;

 L26330: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26331;
  goto ret0;

 L26331: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 18)
    goto L26332;
  goto ret0;

 L26332: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26333;
  goto ret0;

 L26333: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCFPmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26334;
  goto ret0;

 L26334: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26335;
  goto ret0;

 L26335: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, HImode))
    {
      operands[6] = x2;
      goto L26336;
    }
  goto ret0;

 L26336: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11103 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2530 (insn, operands);
    }
  goto ret0;
 ret0:
  return 0;
}

static rtx
split_6 (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  switch (XVECLEN (x0, 0))
    {
    case 2:
      goto L24000;
    case 3:
      goto L24227;
    case 4:
      goto L24337;
    case 5:
      goto L24513;
    case 15:
      goto L26383;
    default:
      break;
    }
  goto ret0;

 L24000: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L24001;
    case CALL:
      goto L26368;
    default:
     break;
   }
  goto ret0;

 L24001: ATTRIBUTE_UNUSED_LABEL
  return split_2 (x0, insn);

 L26368: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L26369;
  goto ret0;

 L26369: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      goto L32350;
    case DImode:
      goto L32351;
    default:
      break;
    }
  goto ret0;

 L32350: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L26370;
    }
 L32352: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L26420;
    }
  goto ret0;

 L26370: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L26371;

 L26371: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26372;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32352;

 L26372: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L26373;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32352;

 L26373: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 11275 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 11277 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2537 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32352;

 L26420: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L26421;

 L26421: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26422;
  goto ret0;

 L26422: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L26423;
    }
  goto ret0;

 L26423: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 11339 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 11341 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2540 (insn, operands);
    }
  goto ret0;

 L32351: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L26378;
    }
 L32353: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L26428;
    }
  goto ret0;

 L26378: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L26379;

 L26379: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26380;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32353;

 L26380: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L26381;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32353;

 L26381: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 11275 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 11277 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2538 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32353;

 L26428: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L26429;

 L26429: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26430;
  goto ret0;

 L26430: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L26431;
    }
  goto ret0;

 L26431: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 11339 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && SIBLING_CALL_P (insn)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 11341 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2541 (insn, operands);
    }
  goto ret0;

 L24227: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L24228;
    case CALL:
      goto L26434;
    default:
     break;
   }
  goto ret0;

 L24228: ATTRIBUTE_UNUSED_LABEL
  return split_3 (x0, insn);

 L26434: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L26435;
  goto ret0;

 L26435: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32428;
  goto ret0;

 L32428: ATTRIBUTE_UNUSED_LABEL
  if (call_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L26436;
    }
 L32429: ATTRIBUTE_UNUSED_LABEL
  if (sibcall_insn_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L26449;
    }
  goto ret0;

 L26436: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L26437;

 L26437: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L26438;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32429;

 L26438: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L26439;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32429;

 L26439: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L26440;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32429;

 L26440: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L26441;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32429;

 L26441: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L26442;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32429;

 L26442: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26443;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32429;

 L26443: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26444;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32429;

 L26444: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11374 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !TARGET_64BIT && !SIBLING_CALL_P (insn)) && 
#line 11376 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2543 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L32429;

 L26449: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L26450;

 L26450: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET)
    goto L26451;
  goto ret0;

 L26451: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L26452;
  goto ret0;

 L26452: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L26453;
  goto ret0;

 L26453: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L26454;
  goto ret0;

 L26454: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L26455;
    }
  goto ret0;

 L26455: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26456;
  goto ret0;

 L26456: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26457;
    }
  goto ret0;

 L26457: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11399 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && !TARGET_64BIT && SIBLING_CALL_P (insn)) && 
#line 11401 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2544 (insn, operands);
    }
  goto ret0;

 L24337: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L24338;
  goto ret0;

 L24338: ATTRIBUTE_UNUSED_LABEL
  return split_5 (x0, insn);

 L24513: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L24514;
  goto ret0;

 L24514: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L32485;
  goto ret0;

 L32485: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L24515;
    }
 L32486: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L24529;
    }
  goto ret0;

 L24515: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32487;
  x2 = XEXP (x1, 0);
  goto L32486;

 L32487: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L24516;
    case UNSPEC:
      goto L32490;
    default:
     break;
   }
  x2 = XEXP (x1, 0);
  goto L32486;

 L24516: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24517;
    }
  x2 = XEXP (x1, 0);
  goto L32486;

 L24517: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L24518;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24518: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24519;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24519: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L24520;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24520: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L24521;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24521: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24522;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24522: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L24523;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24523: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L24524;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24524: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[5] = x2;
      goto L24525;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24525: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4614 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2198 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L32490: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32492;
  x2 = XEXP (x1, 0);
  goto L32486;

 L32492: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26828;
    case 63L:
      goto L26932;
    default:
      break;
    }
  x2 = XEXP (x1, 0);
  goto L32486;

 L26828: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26829;
    }
  x2 = XEXP (x1, 0);
  goto L32486;

 L26829: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26830;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26830: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26831;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26831: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26832;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26832: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26833;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26833: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26834;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26834: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L26835;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26835: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L26836;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26836: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[5] = x2;
      goto L26837;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26837: ATTRIBUTE_UNUSED_LABEL
  if (
#line 14995 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2700 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26932: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26933;
    }
  x2 = XEXP (x1, 0);
  goto L32486;

 L26933: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26934;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26934: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26935;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26935: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26936;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26936: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26937;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26937: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26938;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26938: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L26939;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26939: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L26940;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26940: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[5] = x2;
      goto L26941;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L26941: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15253 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2720 (insn, operands);
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32486;

 L24529: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32494;
  goto ret0;

 L32494: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case FIX:
      goto L24530;
    case UNSPEC:
      goto L32497;
    default:
     break;
   }
  goto ret0;

 L24530: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L24531;
    }
  goto ret0;

 L24531: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L24532;
  goto ret0;

 L24532: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L24533;
    }
  goto ret0;

 L24533: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L24534;
  goto ret0;

 L24534: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L24535;
    }
  goto ret0;

 L24535: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L24536;
  goto ret0;

 L24536: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L24537;
    }
  goto ret0;

 L24537: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L24538;
  goto ret0;

 L24538: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[5] = x2;
      goto L24539;
    }
  goto ret0;

 L24539: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4628 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2199 (insn, operands);
    }
  goto ret0;

 L32497: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x2, 0) == 1)
    goto L32499;
  goto ret0;

 L32499: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x2, 1))
    {
    case 62L:
      goto L26842;
    case 63L:
      goto L26946;
    default:
      break;
    }
  goto ret0;

 L26842: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26843;
    }
  goto ret0;

 L26843: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26844;
  goto ret0;

 L26844: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26845;
    }
  goto ret0;

 L26845: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26846;
  goto ret0;

 L26846: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26847;
    }
  goto ret0;

 L26847: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26848;
  goto ret0;

 L26848: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L26849;
    }
  goto ret0;

 L26849: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L26850;
  goto ret0;

 L26850: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[5] = x2;
      goto L26851;
    }
  goto ret0;

 L26851: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15011 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2701 (insn, operands);
    }
  goto ret0;

 L26946: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (register_operand (x3, XFmode))
    {
      operands[1] = x3;
      goto L26947;
    }
  goto ret0;

 L26947: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L26948;
  goto ret0;

 L26948: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[2] = x2;
      goto L26949;
    }
  goto ret0;

 L26949: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L26950;
  goto ret0;

 L26950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, HImode))
    {
      operands[3] = x2;
      goto L26951;
    }
  goto ret0;

 L26951: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26952;
  goto ret0;

 L26952: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, DImode))
    {
      operands[4] = x2;
      goto L26953;
    }
  goto ret0;

 L26953: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L26954;
  goto ret0;

 L26954: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, VOIDmode))
    {
      operands[5] = x2;
      goto L26955;
    }
  goto ret0;

 L26955: ATTRIBUTE_UNUSED_LABEL
  if (
#line 15269 "../../gcc/config/i386/i386.md"
(reload_completed))
    {
      return gen_split_2721 (insn, operands);
    }
  goto ret0;

 L26383: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    case CALL:
      goto L26384;
    case SET:
      goto L26500;
    default:
     break;
   }
  goto ret0;

 L26384: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == MEM)
    goto L26385;
  goto ret0;

 L26385: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (call_insn_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L26386;
    }
  goto ret0;

 L26386: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  goto L26387;

 L26387: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 34)
    goto L26388;
  goto ret0;

 L26388: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26389;
  goto ret0;

 L26389: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26390;
  goto ret0;

 L26390: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 27)
    goto L26391;
  goto ret0;

 L26391: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26392;
  goto ret0;

 L26392: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 28)
    goto L26393;
  goto ret0;

 L26393: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L26394;
  goto ret0;

 L26394: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 45)
    goto L26395;
  goto ret0;

 L26395: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L26396;
  goto ret0;

 L26396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 46)
    goto L26397;
  goto ret0;

 L26397: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER)
    goto L26398;
  goto ret0;

 L26398: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 47)
    goto L26399;
  goto ret0;

 L26399: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER)
    goto L26400;
  goto ret0;

 L26400: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 48)
    goto L26401;
  goto ret0;

 L26401: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == CLOBBER)
    goto L26402;
  goto ret0;

 L26402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 49)
    goto L26403;
  goto ret0;

 L26403: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == CLOBBER)
    goto L26404;
  goto ret0;

 L26404: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 50)
    goto L26405;
  goto ret0;

 L26405: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == CLOBBER)
    goto L26406;
  goto ret0;

 L26406: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 51)
    goto L26407;
  goto ret0;

 L26407: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == CLOBBER)
    goto L26408;
  goto ret0;

 L26408: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 52)
    goto L26409;
  goto ret0;

 L26409: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 12);
  if (GET_CODE (x1) == CLOBBER)
    goto L26410;
  goto ret0;

 L26410: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 4)
    goto L26411;
  goto ret0;

 L26411: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 13);
  if (GET_CODE (x1) == CLOBBER)
    goto L26412;
  goto ret0;

 L26412: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 5)
    goto L26413;
  goto ret0;

 L26413: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 14);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26414;
  goto ret0;

 L26414: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L26415;
    }
  goto ret0;

 L26415: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11307 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && TARGET_64BIT && !SIBLING_CALL_P (insn)) && 
#line 11309 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2539 (insn, operands);
    }
  goto ret0;

 L26500: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  goto L26501;

 L26501: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL)
    goto L26502;
  goto ret0;

 L26502: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == MEM)
    goto L26503;
  goto ret0;

 L26503: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (call_insn_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L26504;
    }
  goto ret0;

 L26504: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  goto L26505;

 L26505: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 34)
    goto L26506;
  goto ret0;

 L26506: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26507;
  goto ret0;

 L26507: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L26508;
  goto ret0;

 L26508: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 27)
    goto L26509;
  goto ret0;

 L26509: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L26510;
  goto ret0;

 L26510: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 28)
    goto L26511;
  goto ret0;

 L26511: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L26512;
  goto ret0;

 L26512: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 45)
    goto L26513;
  goto ret0;

 L26513: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L26514;
  goto ret0;

 L26514: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 46)
    goto L26515;
  goto ret0;

 L26515: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == CLOBBER)
    goto L26516;
  goto ret0;

 L26516: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 47)
    goto L26517;
  goto ret0;

 L26517: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == CLOBBER)
    goto L26518;
  goto ret0;

 L26518: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 48)
    goto L26519;
  goto ret0;

 L26519: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == CLOBBER)
    goto L26520;
  goto ret0;

 L26520: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 49)
    goto L26521;
  goto ret0;

 L26521: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == CLOBBER)
    goto L26522;
  goto ret0;

 L26522: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 50)
    goto L26523;
  goto ret0;

 L26523: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == CLOBBER)
    goto L26524;
  goto ret0;

 L26524: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 51)
    goto L26525;
  goto ret0;

 L26525: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == CLOBBER)
    goto L26526;
  goto ret0;

 L26526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 52)
    goto L26527;
  goto ret0;

 L26527: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 12);
  if (GET_CODE (x1) == CLOBBER)
    goto L26528;
  goto ret0;

 L26528: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 4)
    goto L26529;
  goto ret0;

 L26529: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 13);
  if (GET_CODE (x1) == CLOBBER)
    goto L26530;
  goto ret0;

 L26530: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 5)
    goto L26531;
  goto ret0;

 L26531: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 14);
  if (GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 35)
    goto L26532;
  goto ret0;

 L26532: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26533;
    }
  goto ret0;

 L26533: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11503 "../../gcc/config/i386/i386.md"
(TARGET_VZEROUPPER && TARGET_64BIT && !SIBLING_CALL_P (insn)) && 
#line 11505 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2551 (insn, operands);
    }
  goto ret0;
 ret0:
  return 0;
}

static rtx
split_7 (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    case TImode:
      goto L32501;
    case DImode:
      goto L32502;
    case TFmode:
      goto L32505;
    case XFmode:
      goto L32506;
    case DFmode:
      goto L32507;
    case SFmode:
      goto L32508;
    case HImode:
      goto L32514;
    case SImode:
      goto L32515;
    case QImode:
      goto L32518;
    case V4SImode:
      goto L32521;
    case V4SFmode:
      goto L32522;
    case V2DImode:
      goto L32524;
    case V2DFmode:
      goto L32525;
    case V8HImode:
      goto L32528;
    case V16QImode:
      goto L32529;
    case V32QImode:
      goto L32531;
    case V4DImode:
      goto L32534;
    case V8SImode:
      goto L32536;
    case V8SFmode:
      goto L32537;
    case V4DFmode:
      goto L32538;
    default:
      break;
    }
 L24131: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L32542;
    case REG:
      goto L32543;
    default:
     break;
   }
 L24287: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L24288;
    }
 L25471: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case REG:
      goto L32544;
    case STRICT_LOW_PART:
      goto L26098;
    case PC:
      goto L26121;
    default:
     break;
   }
 L24156: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L24157;
    }
 L25122: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x1))
    {
    case SImode:
      goto L32545;
    case DImode:
      goto L32546;
    case V8QImode:
      goto L32547;
    case V4HImode:
      goto L32548;
    case V2SImode:
      goto L32549;
    case V1DImode:
      goto L32550;
    case V2SFmode:
      goto L32551;
    case V4SFmode:
      goto L32552;
    case V2DFmode:
      goto L32553;
    default:
      break;
    }
 L25203: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L25204;
    }
 L27111: ATTRIBUTE_UNUSED_LABEL
  if (register_and_not_any_fp_reg_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L27112;
    }
  goto ret0;

 L32501: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, TImode))
    {
      operands[0] = x1;
      goto L24066;
    }
 L32503: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, TImode))
    {
      operands[0] = x1;
      goto L24088;
    }
  goto L24131;

 L24066: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, TImode))
    {
      operands[1] = x1;
      goto L24067;
    }
  x1 = XEXP (x0, 0);
  goto L32503;

 L24067: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1609 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && reload_completed
   && !SSE_REG_P (operands[1])))
    {
      return gen_split_2085 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32503;

 L24088: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, TImode))
    {
      operands[1] = x1;
      goto L24089;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24089: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1876 "../../gcc/config/i386/i386.md"
(reload_completed
   && !SSE_REG_P (operands[0]) && !SSE_REG_P (operands[1])))
    {
      return gen_split_2097 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32502: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L24080;
    }
 L32504: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L24428;
    }
 L32512: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L24161;
    }
  goto L24131;

 L24080: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (immediate_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L24081;
    }
 L24084: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L24085;
    }
  x1 = XEXP (x0, 0);
  goto L32504;

 L24081: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1658 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && ((optimize > 0 && flag_peephole2)
		    ? epilogue_completed : reload_completed)
   && !symbolic_operand (operands[1], DImode)
   && !x86_64_immediate_operand (operands[1], DImode)))
    {
      return gen_split_2088 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  goto L24084;

 L24085: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1675 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed
   && !(MMX_REG_P (operands[1]) || SSE_REG_P (operands[1]))))
    {
      return gen_split_2089 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32504;

 L24428: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L32554;
 L24092: ATTRIBUTE_UNUSED_LABEL
  if (general_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L24093;
    }
  x1 = XEXP (x0, 0);
  goto L32512;

 L32554: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FIX:
      goto L24429;
    case UNSPEC:
      goto L32557;
    case VEC_SELECT:
      goto L28212;
    default:
     break;
   }
  goto L24092;

 L24429: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L24430;
    }
  goto L24092;

 L24430: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4470 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || DImode != DImode))
	&& TARGET_SSE_MATH)
   && can_create_pseudo_p ()) && 
#line 4477 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2188 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  goto L24092;

 L32557: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 54)
    goto L26732;
  goto L24092;

 L26732: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L26733;
    }
  goto L24092;

 L26733: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 14682 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 14685 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2668 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  goto L24092;

 L28212: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L28213;
    }
  goto L24092;

 L28213: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L28214;
  goto L24092;

 L28214: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7524 "../../gcc/config/i386/sse.md"
(TARGET_SSE
   && reload_completed
   && (TARGET_INTER_UNIT_MOVES
       || MEM_P (operands [0])
       || !GENERAL_REGNO_P (true_regnum (operands [0])))))
    {
      return gen_split_3589 (insn, operands);
    }
  goto L24092;

 L24093: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2125 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed
   && !(MMX_REG_P (operands[0]) || SSE_REG_P (operands[0]))
   && !(MMX_REG_P (operands[1]) || SSE_REG_P (operands[1]))))
    {
      return gen_split_2100 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32512;

 L24161: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == ZERO_EXTEND)
    goto L24162;
  x1 = XEXP (x0, 0);
  goto L24131;

 L24162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0])
      && 
#line 3468 "../../gcc/config/i386/i386.md"
(TARGET_64BIT))
    {
      return gen_split_2126 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32505: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, TFmode))
    {
      operands[0] = x1;
      goto L24096;
    }
  if (register_operand (x1, TFmode))
    {
      operands[0] = x1;
      goto L25639;
    }
  goto L24131;

 L24096: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (sse_reg_operand (x1, TFmode))
    {
      operands[1] = x1;
      goto L24097;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24097: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2619 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return gen_split_2105 (insn, operands);
    }
 L24101: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2619 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return gen_split_2106 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L25639: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == TFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 45)
    goto L25640;
  x1 = XEXP (x0, 0);
  goto L24131;

 L25640: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (vector_move_operand (x2, TFmode))
    {
      operands[1] = x2;
      goto L25641;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L25641: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, TFmode))
    {
      operands[2] = x2;
      goto L25642;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L25642: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, TFmode))
    {
      operands[3] = x2;
      goto L25643;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L25643: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8821 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (TFmode == TFmode))) && 
#line 8824 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2425 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32506: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L32558;
    case REG:
      goto L32559;
    default:
     break;
   }
 L32516: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, XFmode))
    {
      operands[0] = x1;
      goto L24600;
    }
  goto L24131;

 L32558: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, XFmode))
    {
      operands[0] = x1;
      goto L24104;
    }
  goto L24131;

 L24104: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == XFmode)
    goto L32560;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32560: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case REG:
      goto L32562;
    case FLOAT_EXTEND:
      goto L24269;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32562: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x1, XFmode))
    {
      operands[1] = x1;
      goto L24105;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24105: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2657 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return gen_split_2107 (insn, operands);
    }
 L24109: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2657 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return gen_split_2108 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24269: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L32563;
    case DFmode:
      goto L32564;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32563: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L24270;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24270: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 3858 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return gen_split_2145 (insn, operands);
    }
 L24275: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 3858 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return gen_split_2146 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32564: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L24280;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24280: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 3858 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return gen_split_2147 (insn, operands);
    }
 L24285: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 3858 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return gen_split_2148 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32559: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x1, XFmode))
    {
      operands[0] = x1;
      goto L24153;
    }
  goto L32516;

 L24153: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (immediate_operand (x1, XFmode))
    {
      operands[1] = x1;
      goto L24154;
    }
  x1 = XEXP (x0, 0);
  goto L32516;

 L24154: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3377 "../../gcc/config/i386/i386.md"
(reload_completed
   && (standard_80387_constant_p (operands[1]) == 8
       || standard_80387_constant_p (operands[1]) == 9)))
    {
      return gen_split_2123 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32516;

 L24600: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == XFmode
      && GET_CODE (x1) == FLOAT)
    goto L24601;
  x1 = XEXP (x0, 0);
  goto L24131;

 L24601: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L32565;
    case SImode:
      goto L32566;
    case DImode:
      goto L32567;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32565: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L24602;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24602: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4724 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && can_create_pseudo_p ()) && 
#line 4729 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2209 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32566: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L24665;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24665: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (XFmode, SImode)
     && (!((SImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((SImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH
	&& ((SImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()) && 
#line 4828 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2224 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32567: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L24680;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24680: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (XFmode, DImode)
     && (!((DImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((DImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH
	&& ((DImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()) && 
#line 4828 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2227 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32507: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L32568;
    case REG:
      goto L32569;
    default:
     break;
   }
  goto L24131;

 L32568: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L24112;
    }
  goto L24131;

 L24112: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode)
    goto L32570;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32570: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case REG:
      goto L32572;
    case FLOAT_EXTEND:
      goto L24259;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32572: ATTRIBUTE_UNUSED_LABEL
  if (any_fp_register_operand (x1, DFmode))
    {
      operands[1] = x1;
      goto L24113;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24113: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2695 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return gen_split_2109 (insn, operands);
    }
 L24117: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2695 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return gen_split_2110 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24259: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (fp_register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L24260;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24260: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 3851 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return gen_split_2143 (insn, operands);
    }
 L24265: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 3851 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return gen_split_2144 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32569: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L24149;
    }
  goto L24131;

 L24149: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (immediate_operand (x1, DFmode))
    {
      operands[1] = x1;
      goto L24150;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24150: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3377 "../../gcc/config/i386/i386.md"
(reload_completed
   && (standard_80387_constant_p (operands[1]) == 8
       || standard_80387_constant_p (operands[1]) == 9)))
    {
      return gen_split_2122 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32508: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L32573;
    case REG:
      goto L32574;
    default:
     break;
   }
 L32513: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L24293;
    }
 L32520: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L27948;
    }
 L32523: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L28047;
    }
  goto L24131;

 L32573: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L24120;
    }
  goto L32520;

 L24120: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode)
    goto L32575;
  x1 = XEXP (x0, 0);
  goto L32520;

 L32575: ATTRIBUTE_UNUSED_LABEL
  if (any_fp_register_operand (x1, SFmode))
    {
      operands[1] = x1;
      goto L24121;
    }
  if (memory_operand (x1, SFmode))
    {
      operands[1] = x1;
      goto L24129;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L24121: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2729 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      return gen_split_2111 (insn, operands);
    }
 L24125: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 2729 "../../gcc/config/i386/i386.md"
(reload_completed) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      return gen_split_2112 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L24129: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2737 "../../gcc/config/i386/i386.md"
(reload_completed
   && (operands[2] = find_constant_src (insn))))
    {
      return gen_split_2113 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L32574: ATTRIBUTE_UNUSED_LABEL
  if (fp_register_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L24145;
    }
  goto L32513;

 L24145: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (immediate_operand (x1, SFmode))
    {
      operands[1] = x1;
      goto L24146;
    }
  x1 = XEXP (x0, 0);
  goto L32513;

 L24146: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3377 "../../gcc/config/i386/i386.md"
(reload_completed
   && (standard_80387_constant_p (operands[1]) == 8
       || standard_80387_constant_p (operands[1]) == 9)))
    {
      return gen_split_2121 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32513;

 L24293: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode)
    goto L32577;
  x1 = XEXP (x0, 0);
  goto L32520;

 L32577: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FLOAT_TRUNCATE:
      goto L24294;
    case FLOAT:
      goto L24591;
    case UNSPEC:
      goto L32581;
    case VEC_SELECT:
      goto L27955;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L32520;

 L24294: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L24295;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L24295: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4035 "../../gcc/config/i386/i386.md"
(TARGET_USE_VECTOR_FP_CONVERTS
   && optimize_insn_for_speed_p ()
   && reload_completed && SSE_REG_P (operands[0])))
    {
      return gen_split_2154 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L24591: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L32582;
    case SImode:
      goto L32583;
    case DImode:
      goto L32584;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L32582: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L24592;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L24592: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4724 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && can_create_pseudo_p ()) && 
#line 4729 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2207 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L32583: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L24655;
    }
 L32585: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L24791;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L24655: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (SFmode, SImode)
     && (!((SImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((SImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
	&& ((SImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()) && 
#line 4828 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2222 (insn, operands);
    }
 L24781: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5071 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2240 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L32585;

 L24791: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5117 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2242 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L32584: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L24670;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L24670: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (SFmode, DImode)
     && (!((DImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((DImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
	&& ((DImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()) && 
#line 4828 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2225 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L32581: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 45)
    goto L25626;
  x1 = XEXP (x0, 0);
  goto L32520;

 L25626: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (vector_move_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L25627;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L25627: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, SFmode))
    {
      operands[2] = x2;
      goto L25628;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L25628: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[3] = x2;
      goto L25629;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L25629: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8821 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (SFmode == TFmode))) && 
#line 8824 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2423 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L27955: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L27956;
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L27956: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L27957;
  x1 = XEXP (x0, 0);
  goto L32520;

 L27957: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 747 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && reload_completed))
    {
      return gen_split_2912 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32520;

 L27948: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode
      && GET_CODE (x1) == VEC_SELECT)
    goto L27949;
  x1 = XEXP (x0, 0);
  goto L32523;

 L27949: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2SFmode:
      goto L32586;
    case V4SFmode:
      goto L32587;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L32523;

 L32586: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SFmode))
    {
      operands[1] = x2;
      goto L27950;
    }
  x1 = XEXP (x0, 0);
  goto L32523;

 L27950: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L27951;
  x1 = XEXP (x0, 0);
  goto L32523;

 L27951: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 710 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 712 "../../gcc/config/i386/mmx.md"
( reload_completed)))
    {
      return gen_split_2911 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32523;

 L32587: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L28036;
    }
 L32588: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L28042;
    }
  x1 = XEXP (x0, 0);
  goto L32523;

 L28036: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L28037;
  x2 = XEXP (x1, 0);
  goto L32588;

 L28037: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 3957 "../../gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 3959 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3238 (insn, operands);
    }
  x2 = XEXP (x1, 0);
  goto L32588;

 L28042: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L28043;
  x1 = XEXP (x0, 0);
  goto L32523;

 L28043: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L28044;
    }
  x1 = XEXP (x0, 0);
  goto L32523;

 L28044: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 3976 "../../gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 3981 "../../gcc/config/i386/sse.md"
( reload_completed && SSE_REG_P (operands[0]))))
    {
      return gen_split_3239 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32523;

 L28047: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SFmode
      && GET_CODE (x1) == VEC_SELECT)
    goto L28048;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28048: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L28049;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28049: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L28050;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28050: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L28051;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28051: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4016 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 4018 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3240 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32514: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L24418;
    }
 L32519: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L26756;
    }
  goto L24131;

 L24418: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode
      && GET_CODE (x1) == FIX)
    goto L24419;
  x1 = XEXP (x0, 0);
  goto L32519;

 L24419: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L24420;
    }
  x1 = XEXP (x0, 0);
  goto L32519;

 L24420: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4470 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || HImode != DImode))
	&& TARGET_SSE_MATH)
   && can_create_pseudo_p ()) && 
#line 4477 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2186 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32519;

 L26756: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode)
    goto L32589;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32589: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x1) == UNSPEC)
    goto L32591;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32591: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1)
    goto L32593;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32593: ATTRIBUTE_UNUSED_LABEL
  switch (XINT (x1, 1))
    {
    case 54L:
      goto L26757;
    case 75L:
      goto L27021;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L26757: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L26758;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L26758: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 14747 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 14750 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2671 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L27021: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      goto L32595;
    case DFmode:
      goto L32596;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32595: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L27022;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L27022: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 15524 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 15527 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2741 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32596: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L27027;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L27027: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 15524 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 15527 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2742 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32515: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L24423;
    }
  goto L24131;

 L24423: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L32597;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32597: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FIX:
      goto L24424;
    case VEC_SELECT:
      goto L27961;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L24425;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L24425: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4470 "../../gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && TARGET_FISTTP
   && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
	 && (TARGET_64BIT || SImode != DImode))
	&& TARGET_SSE_MATH)
   && can_create_pseudo_p ()) && 
#line 4477 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2187 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L27961: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2SImode:
      goto L32599;
    case V4SImode:
      goto L32600;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32599: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L27962;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L27962: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L27963;
  x1 = XEXP (x0, 0);
  goto L24131;

 L27963: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 1405 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 1407 "../../gcc/config/i386/mmx.md"
( reload_completed)))
    {
      return gen_split_2956 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32600: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L28200;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28200: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L28201;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28201: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 7466 "../../gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 7468 "../../gcc/config/i386/sse.md"
( reload_completed
   && (TARGET_INTER_UNIT_MOVES
       || MEM_P (operands [0])
       || !GENERAL_REGNO_P (true_regnum (operands [0]))))))
    {
      return gen_split_3586 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32518: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L26091;
    }
  goto L24131;

 L26091: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode)
    goto L32601;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32601: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case NE:
      goto L26092;
    case EQ:
      goto L26107;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L24131;

 L26092: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L26093;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L26093: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L26094;
  x1 = XEXP (x0, 0);
  goto L24131;

 L26094: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26095;
  x1 = XEXP (x0, 0);
  goto L24131;

 L26095: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    {
      return gen_split_2513 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L26107: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L26108;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L26108: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L26109;
  x1 = XEXP (x0, 0);
  goto L24131;

 L26109: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26110;
  x1 = XEXP (x0, 0);
  goto L24131;

 L26110: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    {
      return gen_split_2515 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32521: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V4SImode))
    {
      operands[0] = x1;
      goto L28020;
    }
 L32526: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4SImode))
    {
      operands[0] = x1;
      goto L28068;
    }
 L32533: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4SImode))
    {
      operands[0] = x1;
      goto L28180;
    }
  goto L24131;

 L28020: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SImode
      && GET_CODE (x1) == VEC_MERGE)
    goto L28021;
  x1 = XEXP (x0, 0);
  goto L32526;

 L28021: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SImode
      && GET_CODE (x2) == VEC_DUPLICATE)
    goto L28022;
  x1 = XEXP (x0, 0);
  goto L32526;

 L28022: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L28023;
    }
  x1 = XEXP (x0, 0);
  goto L32526;

 L28023: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L28024;
  x1 = XEXP (x0, 0);
  goto L32526;

 L28024: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 3933 "../../gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
    {
      return gen_split_3224 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32526;

 L28068: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L28069;
  x1 = XEXP (x0, 0);
  goto L32533;

 L28069: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SImode))
    {
      operands[1] = x2;
      goto L28070;
    }
  x1 = XEXP (x0, 0);
  goto L32533;

 L28070: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L28071;
  x1 = XEXP (x0, 0);
  goto L32533;

 L28071: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L28072;
  x1 = XEXP (x0, 0);
  goto L32533;

 L28072: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L28073;
  x1 = XEXP (x0, 0);
  goto L32533;

 L28073: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L28074;
  x1 = XEXP (x0, 0);
  goto L32533;

 L28074: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 4090 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 4092 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3249 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32533;

 L28180: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SImode
      && GET_CODE (x1) == MULT)
    goto L28181;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28181: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L28182;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28182: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4SImode))
    {
      operands[2] = x2;
      goto L28183;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28183: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5425 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_SSE4_1 && !TARGET_AVX
   && can_create_pseudo_p ()) && 
#line 5428 "../../gcc/config/i386/sse.md"
( 1)))
    {
      return gen_split_3337 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32522: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V4SFmode))
    {
      operands[0] = x1;
      goto L28027;
    }
 L32527: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4SFmode))
    {
      operands[0] = x1;
      goto L28077;
    }
  goto L24131;

 L28027: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SFmode
      && GET_CODE (x1) == VEC_MERGE)
    goto L28028;
  x1 = XEXP (x0, 0);
  goto L32527;

 L28028: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4SFmode
      && GET_CODE (x2) == VEC_DUPLICATE)
    goto L28029;
  x1 = XEXP (x0, 0);
  goto L32527;

 L28029: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonmemory_operand (x3, SFmode))
    {
      operands[1] = x3;
      goto L28030;
    }
  x1 = XEXP (x0, 0);
  goto L32527;

 L28030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L28031;
  x1 = XEXP (x0, 0);
  goto L32527;

 L28031: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 3933 "../../gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
    {
      return gen_split_3225 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32527;

 L28077: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4SFmode
      && GET_CODE (x1) == VEC_SELECT)
    goto L28078;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28078: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L28079;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28079: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 4)
    goto L28080;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28080: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L28081;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28081: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L28082;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28082: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L28083;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28083: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)]
      && (
#line 4090 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 4092 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3250 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32524: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2DImode))
    {
      operands[0] = x1;
      goto L28054;
    }
 L32535: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V2DImode))
    {
      operands[0] = x1;
      goto L28192;
    }
  goto L24131;

 L28054: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L28055;
  x1 = XEXP (x0, 0);
  goto L32535;

 L28055: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L28056;
    }
  x1 = XEXP (x0, 0);
  goto L32535;

 L28056: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L28057;
  x1 = XEXP (x0, 0);
  goto L32535;

 L28057: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L28058;
  x1 = XEXP (x0, 0);
  goto L32535;

 L28058: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 4056 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 4058 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3247 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32535;

 L28192: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DImode
      && GET_CODE (x1) == MULT)
    goto L28193;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28193: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V2DImode))
    {
      operands[1] = x2;
      goto L28194;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28194: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V2DImode))
    {
      operands[2] = x2;
      goto L28195;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28195: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5481 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && can_create_pseudo_p ()) && 
#line 5484 "../../gcc/config/i386/sse.md"
( 1)))
    {
      return gen_split_3339 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32525: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2DFmode))
    {
      operands[0] = x1;
      goto L28061;
    }
 L32530: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, V2DFmode))
    {
      operands[0] = x1;
      goto L28120;
    }
  goto L24131;

 L28061: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DFmode
      && GET_CODE (x1) == VEC_SELECT)
    goto L28062;
  x1 = XEXP (x0, 0);
  goto L32530;

 L28062: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L28063;
    }
  x1 = XEXP (x0, 0);
  goto L32530;

 L28063: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L28064;
  x1 = XEXP (x0, 0);
  goto L32530;

 L28064: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L28065;
  x1 = XEXP (x0, 0);
  goto L32530;

 L28065: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && (
#line 4056 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 4058 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3248 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32530;

 L28120: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DFmode)
    goto L32603;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32603: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case VEC_SELECT:
      goto L28121;
    case VEC_CONCAT:
      goto L28152;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28121: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DFmode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L28122;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28122: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L28123;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28123: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L28124;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28124: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L28125;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28125: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L28126;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28126: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)]
      && 
#line 4420 "../../gcc/config/i386/sse.md"
(TARGET_SSE3 && reload_completed))
    {
      return gen_split_3271 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28152: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DFmode)
    goto L32605;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32605: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == VEC_SELECT)
    goto L28153;
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L28162;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28153: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28154;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28154: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L28155;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28155: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L28156;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28156: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L28157;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28157: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4750 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
    {
      return gen_split_3278 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28162: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DFmode
      && GET_CODE (x2) == VEC_SELECT)
    goto L28163;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28163: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28164;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28164: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PARALLEL
      && XVECLEN (x3, 0) == 1)
    goto L28165;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28165: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 4819 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
    {
      return gen_split_3280 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32528: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V8HImode))
    {
      operands[0] = x1;
      goto L28086;
    }
  goto L24131;

 L28086: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8HImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L28087;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28087: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V16HImode))
    {
      operands[1] = x2;
      goto L28088;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28088: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 8)
    goto L28089;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28089: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L28090;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28090: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L28091;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28091: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L28092;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28092: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L28093;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28093: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L28094;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28094: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L28095;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28095: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L28096;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28096: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)]
      && (
#line 4127 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 4129 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3251 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32529: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V16QImode))
    {
      operands[0] = x1;
      goto L28099;
    }
 L32532: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V16QImode))
    {
      operands[0] = x1;
      goto L28174;
    }
  goto L24131;

 L28099: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16QImode
      && GET_CODE (x1) == VEC_SELECT)
    goto L28100;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28100: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L28101;
    }
  x1 = XEXP (x0, 0);
  goto L32532;

 L28101: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 16)
    goto L28102;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28102: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L28103;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28103: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L28104;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28104: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (2)])
    goto L28105;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28105: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 3);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (3)])
    goto L28106;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28106: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 4);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (4)])
    goto L28107;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28107: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 5);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (5)])
    goto L28108;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28108: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 6);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (6)])
    goto L28109;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28109: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 7);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (7)])
    goto L28110;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28110: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 8);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L28111;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28111: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 9);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (9)])
    goto L28112;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28112: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 10);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (10)])
    goto L28113;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28113: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 11);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (11)])
    goto L28114;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28114: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 12);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (12)])
    goto L28115;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28115: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 13);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (13)])
    goto L28116;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28116: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 14);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (14)])
    goto L28117;
  x1 = XEXP (x0, 0);
  goto L32532;

 L28117: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 15);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (15)]
      && (
#line 4170 "../../gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 4172 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3252 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32532;

 L28174: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V16QImode
      && GET_CODE (x1) == MULT)
    goto L28175;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28175: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V16QImode))
    {
      operands[1] = x2;
      goto L28176;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28176: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V16QImode))
    {
      operands[2] = x2;
      goto L28177;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28177: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4958 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && can_create_pseudo_p ()) && 
#line 4961 "../../gcc/config/i386/sse.md"
( 1)))
    {
      return gen_split_3322 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32531: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V32QImode))
    {
      operands[0] = x1;
      goto L28168;
    }
  goto L24131;

 L28168: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V32QImode
      && GET_CODE (x1) == MULT)
    goto L28169;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28169: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V32QImode))
    {
      operands[1] = x2;
      goto L28170;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28170: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V32QImode))
    {
      operands[2] = x2;
      goto L28171;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28171: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 4958 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && can_create_pseudo_p ()) && 
#line 171 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)) && 
#line 4961 "../../gcc/config/i386/sse.md"
( 1)))
    {
      return gen_split_3321 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32534: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4DImode))
    {
      operands[0] = x1;
      goto L28186;
    }
  goto L24131;

 L28186: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DImode)
    goto L32607;
  x1 = XEXP (x0, 0);
  goto L24131;

 L32607: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MULT:
      goto L28187;
    case VEC_DUPLICATE:
      goto L28272;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28187: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, V4DImode))
    {
      operands[1] = x2;
      goto L28188;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28188: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, V4DImode))
    {
      operands[2] = x2;
      goto L28189;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28189: ATTRIBUTE_UNUSED_LABEL
  if (((
#line 5481 "../../gcc/config/i386/sse.md"
(TARGET_SSE2
   && can_create_pseudo_p ()) && 
#line 180 "../../gcc/config/i386/sse.md"
(TARGET_AVX2)) && 
#line 5484 "../../gcc/config/i386/sse.md"
( 1)))
    {
      return gen_split_3338 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28272: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L28273;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28273: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11862 "../../gcc/config/i386/sse.md"
(TARGET_AVX && reload_completed))
    {
      return gen_split_3680 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32536: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V8SImode))
    {
      operands[0] = x1;
      goto L28261;
    }
 L32539: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V8SImode))
    {
      operands[0] = x1;
      goto L28295;
    }
  goto L24131;

 L28261: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SImode
      && GET_CODE (x1) == VEC_DUPLICATE)
    goto L28262;
  x1 = XEXP (x0, 0);
  goto L32539;

 L28262: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L28263;
    }
  x1 = XEXP (x0, 0);
  goto L32539;

 L28263: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11862 "../../gcc/config/i386/sse.md"
(TARGET_AVX && reload_completed))
    {
      return gen_split_3678 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32539;

 L28295: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SImode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 127)
    goto L28296;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28296: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L28297;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28297: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12338 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 12340 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3697 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32537: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V8SFmode))
    {
      operands[0] = x1;
      goto L28266;
    }
 L32540: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V8SFmode))
    {
      operands[0] = x1;
      goto L28300;
    }
  goto L24131;

 L28266: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SFmode)
    goto L32609;
  x1 = XEXP (x0, 0);
  goto L32540;

 L32609: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case VEC_DUPLICATE:
      goto L28267;
    case VEC_SELECT:
      goto L28282;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L32540;

 L28267: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L28268;
    }
  x1 = XEXP (x0, 0);
  goto L32540;

 L28268: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11862 "../../gcc/config/i386/sse.md"
(TARGET_AVX && reload_completed))
    {
      return gen_split_3679 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32540;

 L28282: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V8SFmode))
    {
      operands[1] = x2;
      goto L28283;
    }
  x1 = XEXP (x0, 0);
  goto L32540;

 L28283: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (XVECLEN (x2, 0) >= 1
      && avx_vbroadcast_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L28284;
    }
  x1 = XEXP (x0, 0);
  goto L32540;

 L28284: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L28285;
    }
  x1 = XEXP (x0, 0);
  goto L32540;

 L28285: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11922 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 11924 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3682 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32540;

 L28300: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V8SFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 127)
    goto L28301;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28301: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V4SFmode))
    {
      operands[1] = x2;
      goto L28302;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28302: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12338 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 12340 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3698 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32538: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4DFmode))
    {
      operands[0] = x1;
      goto L28276;
    }
 L32541: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4DFmode))
    {
      operands[0] = x1;
      goto L28305;
    }
  goto L24131;

 L28276: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DFmode)
    goto L32611;
  x1 = XEXP (x0, 0);
  goto L32541;

 L32611: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case VEC_DUPLICATE:
      goto L28277;
    case VEC_SELECT:
      goto L28289;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L32541;

 L28277: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L28278;
    }
  x1 = XEXP (x0, 0);
  goto L32541;

 L28278: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11862 "../../gcc/config/i386/sse.md"
(TARGET_AVX && reload_completed))
    {
      return gen_split_3681 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32541;

 L28289: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, V4DFmode))
    {
      operands[1] = x2;
      goto L28290;
    }
  x1 = XEXP (x0, 0);
  goto L32541;

 L28290: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (XVECLEN (x2, 0) >= 1
      && avx_vbroadcast_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L28291;
    }
  x1 = XEXP (x0, 0);
  goto L32541;

 L28291: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L28292;
    }
  x1 = XEXP (x0, 0);
  goto L32541;

 L28292: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 11922 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 11924 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3683 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L32541;

 L28305: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V4DFmode
      && GET_CODE (x1) == UNSPEC
      && XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 127)
    goto L28306;
  x1 = XEXP (x0, 0);
  goto L24131;

 L28306: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L28307;
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L28307: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 12338 "../../gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 12340 "../../gcc/config/i386/sse.md"
( reload_completed)))
    {
      return gen_split_3699 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24131;

 L32542: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L24132;
    }
  goto L24156;

 L24132: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L24133;
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L24133: ATTRIBUTE_UNUSED_LABEL
  if (
#line 2744 "../../gcc/config/i386/i386.md"
(reload_completed
   && (GET_MODE (operands[0]) == TFmode
       || GET_MODE (operands[0]) == XFmode
       || GET_MODE (operands[0]) == DFmode)
   && !ANY_FP_REG_P (operands[1])))
    {
      return gen_split_2114 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L32543: ATTRIBUTE_UNUSED_LABEL
  if (any_fp_register_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L24140;
    }
  goto L24287;

 L24140: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == FLOAT_EXTEND)
    goto L24141;
  if (memory_operand (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L24137;
    }
  x1 = XEXP (x0, 0);
  goto L24287;

 L24141: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L24142;
    }
  x1 = XEXP (x0, 0);
  goto L24287;

 L24142: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3358 "../../gcc/config/i386/i386.md"
(reload_completed
   && (GET_MODE (operands[0]) == TFmode
       || GET_MODE (operands[0]) == XFmode
       || GET_MODE (operands[0]) == DFmode)
   && (operands[2] = find_constant_src (insn))))
    {
      return gen_split_2120 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24287;

 L24137: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3339 "../../gcc/config/i386/i386.md"
(reload_completed
   && (GET_MODE (operands[0]) == TFmode
       || GET_MODE (operands[0]) == XFmode
       || GET_MODE (operands[0]) == DFmode
       || GET_MODE (operands[0]) == SFmode)
   && (operands[2] = find_constant_src (insn))))
    {
      return gen_split_2119 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24287;

 L24288: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode)
    goto L32613;
  x1 = XEXP (x0, 0);
  goto L25471;

 L32613: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case FLOAT_EXTEND:
      goto L24289;
    case FLOAT:
      goto L24596;
    case UNSPEC:
      goto L32617;
    case VEC_SELECT:
      goto L28140;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L25471;

 L24289: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L24290;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L24290: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3895 "../../gcc/config/i386/i386.md"
(TARGET_USE_VECTOR_FP_CONVERTS
   && optimize_insn_for_speed_p ()
   && reload_completed && SSE_REG_P (operands[0])))
    {
      return gen_split_2150 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L24596: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case HImode:
      goto L32618;
    case SImode:
      goto L32619;
    case DImode:
      goto L32620;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L32618: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L24597;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L24597: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4724 "../../gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)
   && can_create_pseudo_p ()) && 
#line 4729 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2208 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L32619: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L24660;
    }
 L32621: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L24796;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L24660: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (DFmode, SImode)
     && (!((SImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((SImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
	&& ((SImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()) && 
#line 4828 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2223 (insn, operands);
    }
 L24786: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5071 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2241 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  goto L32621;

 L24796: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5117 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH
   && TARGET_USE_VECTOR_CONVERTS && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (SSE_REG_P (operands[0])
       || (GET_CODE (operands[0]) == SUBREG
	   && SSE_REG_P (SUBREG_REG (operands[0]))))))
    {
      return gen_split_2243 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L32620: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L24675;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L24675: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 4813 "../../gcc/config/i386/i386.md"
(((TARGET_80387
     && X87_ENABLE_FLOAT (DFmode, DImode)
     && (!((DImode != DImode || TARGET_64BIT)
	   && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
	 || TARGET_MIX_SSE_I387))
    || ((DImode != DImode || TARGET_64BIT)
	&& SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
	&& ((DImode == SImode
	     && TARGET_SSE2 && TARGET_USE_VECTOR_CONVERTS
	     && optimize_function_for_speed_p (cfun)
	     && flag_trapping_math)
	    || !(TARGET_INTER_UNIT_CONVERSIONS
	         || optimize_function_for_size_p (cfun)))))
   && can_create_pseudo_p ()) && 
#line 4828 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2226 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L32617: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 3
      && XINT (x1, 1) == 45)
    goto L25633;
  x1 = XEXP (x0, 0);
  goto L25471;

 L25633: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (vector_move_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L25634;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L25634: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (register_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L25635;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L25635: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[3] = x2;
      goto L25636;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L25636: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 8821 "../../gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE2 && (DFmode == TFmode))) && 
#line 8824 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2424 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L28140: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V2DFmode)
    goto L32622;
  x1 = XEXP (x0, 0);
  goto L25471;

 L32622: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L28141;
    }
 L32623: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, V2DFmode))
    {
      operands[1] = x2;
      goto L28147;
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L28141: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L28142;
  x2 = XEXP (x1, 0);
  goto L32623;

 L28142: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 4630 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
    {
      return gen_split_3275 (insn, operands);
    }
  x2 = XEXP (x1, 0);
  goto L32623;

 L28147: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L28148;
  x1 = XEXP (x0, 0);
  goto L25471;

 L28148: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 4672 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
    {
      return gen_split_3276 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25471;

 L32544: ATTRIBUTE_UNUSED_LABEL
  if (flags_reg_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L25472;
    }
  goto L24156;

 L25472: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (compare_operator (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L25473;
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L25473: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case ZERO_EXTRACT:
      goto L25474;
    case AND:
      goto L25482;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L24156;

 L25474: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25475;
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L25475: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L25476;
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L25476: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[4] = x3;
      goto L25477;
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L25477: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7596 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
    {
      return gen_split_2375 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L25482: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25483;
    }
 L25489: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25490;
    }
 L27154: ATTRIBUTE_UNUSED_LABEL
  if (aligned_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L27155;
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L25483: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L25484;
    }
  x3 = XEXP (x2, 0);
  goto L25489;

 L25484: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7653 "../../gcc/config/i386/i386.md"
(reload_completed
    && QI_REG_P (operands[2])
    && GET_MODE (operands[2]) != QImode
    && ((ix86_match_ccmode (insn, CCZmode)
    	 && !(INTVAL (operands[3]) & ~(255 << 8)))
	|| (ix86_match_ccmode (insn, CCNOmode)
	    && !(INTVAL (operands[3]) & ~(127 << 8))))))
    {
      return gen_split_2376 (insn, operands);
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L25489;

 L25490: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L25491;
    }
  x3 = XEXP (x2, 0);
  goto L27154;

 L25491: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 7676 "../../gcc/config/i386/i386.md"
(reload_completed
    && GET_MODE (operands[2]) != QImode
    && (!REG_P (operands[2]) || ANY_QI_REG_P (operands[2]))
    && ((ix86_match_ccmode (insn, CCZmode)
	 && !(INTVAL (operands[3]) & ~255))
	|| (ix86_match_ccmode (insn, CCNOmode)
	    && !(INTVAL (operands[3]) & ~127)))))
    {
      return gen_split_2377 (insn, operands);
    }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L27154;

 L27155: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L27156;
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L27156: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 16905 "../../gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL && reload_completed
   && ! TARGET_FAST_PREFIX
   && optimize_insn_for_speed_p ()
   /* Ensure that the operand will remain sign-extended immediate.  */
   && ix86_match_ccmode (insn, INTVAL (operands[3]) >= 0 ? CCNOmode : CCZmode)))
    {
      return gen_split_2789 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L24156;

 L26098: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L26099;
    }
  goto L25122;

 L26099: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode)
    goto L32624;
  x1 = XEXP (x0, 0);
  goto L25122;

 L32624: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case NE:
      goto L26100;
    case EQ:
      goto L26115;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26100: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L26101;
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26101: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L26102;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26102: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26103;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26103: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    {
      return gen_split_2514 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26115: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L26116;
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26116: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L26117;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26117: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26118;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26118: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    {
      return gen_split_2516 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26121: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == IF_THEN_ELSE)
    goto L26122;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26122: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case NE:
      goto L26123;
    case EQ:
      goto L26134;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26123: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L26124;
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26124: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L26125;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26125: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26126;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26126: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26127;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26127: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L26128;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26128: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  goto L26129;

 L26129: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC)
    {
      return gen_split_2517 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26134: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (ix86_comparison_operator (x3, VOIDmode))
    {
      operands[0] = x3;
      goto L26135;
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L26135: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == REG
      && XINT (x4, 0) == 17)
    goto L26136;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26136: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26137;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26137: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26138;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26138: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF)
    goto L26139;
  x1 = XEXP (x0, 0);
  goto L25122;

 L26139: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  goto L26140;

 L26140: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC)
    {
      return gen_split_2518 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L24157: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L24158;
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L24158: ATTRIBUTE_UNUSED_LABEL
  if (
#line 3396 "../../gcc/config/i386/i386.md"
(reload_completed
   && (GET_MODE (operands[0]) == TFmode
       || GET_MODE (operands[0]) == XFmode
       || GET_MODE (operands[0]) == DFmode)
   && !(ANY_FP_REG_P (operands[0]) || ANY_FP_REG_P (operands[1]))))
    {
      return gen_split_2124 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25122;

 L32545: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L26086;
    }
  goto L25203;

 L26086: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L32627;
 L25123: ATTRIBUTE_UNUSED_LABEL
  if (lea_address_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L25124;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32627: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case UNSPEC:
      goto L32629;
    case VEC_SELECT:
      goto L27967;
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
    case GEU:
    case GTU:
    case LEU:
    case LTU:
    case UNORDERED:
    case ORDERED:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      goto L32626;
    default:
      goto L25123;
   }
 L32626: ATTRIBUTE_UNUSED_LABEL
  if (ix86_comparison_operator (x1, SImode))
    {
      operands[1] = x1;
      goto L26087;
    }
  goto L25123;

 L32629: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 1
      && XINT (x1, 1) == 54)
    goto L26762;
  goto L25123;

 L26762: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, XFmode))
    {
      operands[1] = x2;
      goto L26763;
    }
  goto L25123;

 L26763: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 14747 "../../gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 14750 "../../gcc/config/i386/i386.md"
( 1)))
    {
      return gen_split_2672 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  goto L25123;

 L27967: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V2SImode:
      goto L32630;
    case V4SImode:
      goto L32631;
    default:
      break;
    }
  goto L25123;

 L32630: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, V2SImode))
    {
      operands[1] = x2;
      goto L27968;
    }
  goto L25123;

 L27968: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L27969;
  goto L25123;

 L27969: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)]
      && 
#line 1448 "../../gcc/config/i386/mmx.md"
(TARGET_MMX && reload_completed))
    {
      return gen_split_2957 (insn, operands);
    }
  goto L25123;

 L32631: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, V4SImode))
    {
      operands[1] = x2;
      goto L28206;
    }
  goto L25123;

 L28206: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 1)
    goto L28207;
  goto L25123;

 L28207: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_3_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L28208;
    }
  goto L25123;

 L28208: ATTRIBUTE_UNUSED_LABEL
  if (
#line 7482 "../../gcc/config/i386/sse.md"
(reload_completed))
    {
      return gen_split_3587 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  goto L25123;

 L26087: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26088;
  goto L25123;

 L26088: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 10582 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))) && 
#line 10585 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2512 (insn, operands);
    }
  goto L25123;

 L25124: ATTRIBUTE_UNUSED_LABEL
  if (
#line 5446 "../../gcc/config/i386/i386.md"
(reload_completed && ix86_avoid_lea_for_addr (insn, operands)))
    {
      return gen_split_2285 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32546: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L26073;
    }
  goto L25203;

 L26073: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (ix86_comparison_operator (x1, DImode))
    {
      operands[1] = x1;
      goto L26074;
    }
  if (lea_address_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L25128;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L26074: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L26075;
  x1 = XEXP (x0, 0);
  goto L25203;

 L26075: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 10551 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_PARTIAL_REG_STALL) && 
#line 10553 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2510 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L25128: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 5446 "../../gcc/config/i386/i386.md"
(reload_completed && ix86_avoid_lea_for_addr (insn, operands)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      return gen_split_2286 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32547: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V8QImode))
    {
      operands[0] = x1;
      goto L27928;
    }
  goto L25203;

 L27928: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, V8QImode))
    {
      operands[1] = x1;
      goto L27929;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L27929: ATTRIBUTE_UNUSED_LABEL
  if (
#line 323 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed
   && !(MMX_REG_P (operands[0]) || SSE_REG_P (operands[0])
	|| MMX_REG_P (operands[1]) || SSE_REG_P (operands[1]))))
    {
      return gen_split_2888 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32548: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V4HImode))
    {
      operands[0] = x1;
      goto L27932;
    }
  goto L25203;

 L27932: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, V4HImode))
    {
      operands[1] = x1;
      goto L27933;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L27933: ATTRIBUTE_UNUSED_LABEL
  if (
#line 323 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed
   && !(MMX_REG_P (operands[0]) || SSE_REG_P (operands[0])
	|| MMX_REG_P (operands[1]) || SSE_REG_P (operands[1]))))
    {
      return gen_split_2889 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32549: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2SImode))
    {
      operands[0] = x1;
      goto L27936;
    }
  goto L25203;

 L27936: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, V2SImode))
    {
      operands[1] = x1;
      goto L27937;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L27937: ATTRIBUTE_UNUSED_LABEL
  if (
#line 323 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed
   && !(MMX_REG_P (operands[0]) || SSE_REG_P (operands[0])
	|| MMX_REG_P (operands[1]) || SSE_REG_P (operands[1]))))
    {
      return gen_split_2890 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32550: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V1DImode))
    {
      operands[0] = x1;
      goto L27940;
    }
  goto L25203;

 L27940: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, V1DImode))
    {
      operands[1] = x1;
      goto L27941;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L27941: ATTRIBUTE_UNUSED_LABEL
  if (
#line 323 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed
   && !(MMX_REG_P (operands[0]) || SSE_REG_P (operands[0])
	|| MMX_REG_P (operands[1]) || SSE_REG_P (operands[1]))))
    {
      return gen_split_2891 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32551: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, V2SFmode))
    {
      operands[0] = x1;
      goto L27944;
    }
  goto L25203;

 L27944: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (general_operand (x1, V2SFmode))
    {
      operands[1] = x1;
      goto L27945;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L27945: ATTRIBUTE_UNUSED_LABEL
  if (
#line 323 "../../gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed
   && !(MMX_REG_P (operands[0]) || SSE_REG_P (operands[0])
	|| MMX_REG_P (operands[1]) || SSE_REG_P (operands[1]))))
    {
      return gen_split_2892 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32552: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V4SFmode))
    {
      operands[0] = x1;
      goto L27980;
    }
  goto L25203;

 L27980: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (zero_extended_scalar_load_operand (x1, V4SFmode))
    {
      operands[1] = x1;
      goto L27981;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L27981: ATTRIBUTE_UNUSED_LABEL
  if (
#line 546 "../../gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
    {
      return gen_split_2986 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32553: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, V2DFmode))
    {
      operands[0] = x1;
      goto L27984;
    }
  goto L25203;

 L27984: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == V2DFmode)
    goto L32632;
  x1 = XEXP (x0, 0);
  goto L25203;

 L32632: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case MEM:
      goto L32634;
    case VEC_SELECT:
      goto L28130;
    default:
     break;
   }
  x1 = XEXP (x0, 0);
  goto L25203;

 L32634: ATTRIBUTE_UNUSED_LABEL
  if (zero_extended_scalar_load_operand (x1, V2DFmode))
    {
      operands[1] = x1;
      goto L27985;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L27985: ATTRIBUTE_UNUSED_LABEL
  if (
#line 560 "../../gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
    {
      return gen_split_2987 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L28130: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == V4DFmode
      && GET_CODE (x2) == VEC_CONCAT)
    goto L28131;
  x1 = XEXP (x0, 0);
  goto L25203;

 L28131: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (memory_operand (x3, V2DFmode))
    {
      operands[1] = x3;
      goto L28132;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L28132: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[1]))
    goto L28133;
  x1 = XEXP (x0, 0);
  goto L25203;

 L28133: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PARALLEL
      && XVECLEN (x2, 0) == 2)
    goto L28134;
  x1 = XEXP (x0, 0);
  goto L25203;

 L28134: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 0);
  if (const_0_to_1_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L28135;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L28135: ATTRIBUTE_UNUSED_LABEL
  x3 = XVECEXP (x2, 0, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L28136;
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L28136: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4437 "../../gcc/config/i386/sse.md"
(TARGET_SSE3 && INTVAL (operands[2]) + 2 == INTVAL (operands[3])))
    {
      return gen_split_3272 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L25203;

 L25204: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L25205;
    case IOR:
      goto L25231;
    case XOR:
      goto L25239;
    case IF_THEN_ELSE:
      goto L27104;
    case NOT:
      goto L27167;
    default:
     break;
   }
 L26641: ATTRIBUTE_UNUSED_LABEL
  if (binary_fp_operator (x1, VOIDmode))
    {
      operands[3] = x1;
      goto L26642;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L25205: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L25222;
    case MULT:
      goto L25214;
    default:
     break;
   }
  goto L26641;

 L25222: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == MULT)
    goto L25223;
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25207;
    }
  goto L26641;

 L25223: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (index_register_operand (x4, VOIDmode))
    {
      operands[1] = x4;
      goto L25224;
    }
  goto L26641;

 L25224: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (const248_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L25225;
    }
  goto L26641;

 L25225: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L25226;
    }
  goto L26641;

 L25226: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, VOIDmode))
    {
      operands[4] = x2;
      goto L25227;
    }
  goto L26641;

 L25227: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6307 "../../gcc/config/i386/i386.md"
((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && GET_MODE (operands[0]) == GET_MODE (operands[3])) && 
#line 6312 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2303 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  goto L26641;

 L25207: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25208;
    }
  goto L26641;

 L25208: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L25209;
    }
  goto L26641;

 L25209: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6244 "../../gcc/config/i386/i386.md"
((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && GET_MODE (operands[0]) == GET_MODE (operands[2])
   && (GET_MODE (operands[0]) == GET_MODE (operands[3])
       || GET_MODE (operands[3]) == VOIDmode)) && 
#line 6251 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2301 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  goto L26641;

 L25214: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25215;
    }
  goto L26641;

 L25215: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const248_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25216;
    }
  goto L26641;

 L25216: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonmemory_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L25217;
    }
  goto L26641;

 L25217: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6276 "../../gcc/config/i386/i386.md"
((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
   && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && (GET_MODE (operands[0]) == GET_MODE (operands[3])
       || GET_MODE (operands[3]) == VOIDmode)) && 
#line 6282 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2302 (insn, operands);
    }
  x1 = XEXP (x0, 1);
  goto L26641;

 L25231: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == ASHIFT)
    goto L25232;
  x1 = XEXP (x0, 0);
  goto L27111;

 L25232: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25233;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L25233: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25234;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L25234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L25235;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L25235: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6342 "../../gcc/config/i386/i386.md"
((((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
      && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    || GET_MODE (operands[0]) == SImode
    || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[2])) - 1 < 3
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < ((unsigned HOST_WIDE_INT) 1 << INTVAL (operands[2])))) && 
#line 6351 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2304 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L25239: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == ASHIFT)
    goto L25240;
  x1 = XEXP (x0, 0);
  goto L27111;

 L25240: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (index_register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L25241;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L25241: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L25242;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L25242: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L25243;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L25243: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 6342 "../../gcc/config/i386/i386.md"
((((GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode)
      && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
    || GET_MODE (operands[0]) == SImode
    || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
   && GET_MODE (operands[0]) == GET_MODE (operands[1])
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[2])) - 1 < 3
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < ((unsigned HOST_WIDE_INT) 1 << INTVAL (operands[2])))) && 
#line 6351 "../../gcc/config/i386/i386.md"
( reload_completed)))
    {
      return gen_split_2305 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L27104: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (ix86_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L27105;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L27105: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27106;
  x1 = XEXP (x0, 0);
  goto L27111;

 L27106: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27107;
  x1 = XEXP (x0, 0);
  goto L27111;

 L27107: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L27108;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L27108: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (register_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L27109;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L27109: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16429 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL
   && (GET_MODE (operands[0]) == QImode
       || GET_MODE (operands[0]) == HImode)
   && reload_completed))
    {
      return gen_split_2774 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L27167: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L27168;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L27168: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16940 "../../gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL && reload_completed
   && (GET_MODE (operands[0]) == HImode
       || (GET_MODE (operands[0]) == QImode
	   && (TARGET_PROMOTE_QImode
	       || optimize_insn_for_size_p ())))))
    {
      return gen_split_2791 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == FLOAT)
    goto L26643;
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L26657;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26643: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L32635;
    case SImode:
      goto L32636;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L32635: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L26644;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26644: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L26645;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26645: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13317 "../../gcc/config/i386/i386.md"
(reload_completed
   && X87_FLOAT_MODE_P (GET_MODE (operands[0]))
   && X87_ENABLE_FLOAT (GET_MODE (operands[0]), GET_MODE (operands[1]))))
    {
      return gen_split_2587 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L32636: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L26651;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26651: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L26652;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26652: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13317 "../../gcc/config/i386/i386.md"
(reload_completed
   && X87_FLOAT_MODE_P (GET_MODE (operands[0]))
   && X87_ENABLE_FLOAT (GET_MODE (operands[0]), GET_MODE (operands[1]))))
    {
      return gen_split_2588 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26657: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == FLOAT)
    goto L26658;
  x1 = XEXP (x0, 0);
  goto L27111;

 L26658: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case HImode:
      goto L32637;
    case SImode:
      goto L32638;
    default:
      break;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L32637: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L26659;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26659: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13338 "../../gcc/config/i386/i386.md"
(reload_completed
   && X87_FLOAT_MODE_P (GET_MODE (operands[0]))
   && X87_ENABLE_FLOAT (GET_MODE (operands[0]), GET_MODE (operands[2]))))
    {
      return gen_split_2589 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L32638: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L26666;
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L26666: ATTRIBUTE_UNUSED_LABEL
  if (
#line 13338 "../../gcc/config/i386/i386.md"
(reload_completed
   && X87_FLOAT_MODE_P (GET_MODE (operands[0]))
   && X87_ENABLE_FLOAT (GET_MODE (operands[0]), GET_MODE (operands[2]))))
    {
      return gen_split_2590 (insn, operands);
    }
  x1 = XEXP (x0, 0);
  goto L27111;

 L27112: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DFmode
      && GET_CODE (x1) == IF_THEN_ELSE)
    goto L27113;
  goto ret0;

 L27113: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (fcmov_comparison_operator (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L27114;
    }
  goto ret0;

 L27114: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27115;
  goto ret0;

 L27115: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27116;
  goto ret0;

 L27116: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[2] = x2;
      goto L27117;
    }
  goto ret0;

 L27117: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (nonimmediate_operand (x2, DFmode))
    {
      operands[3] = x2;
      goto L27118;
    }
  goto ret0;

 L27118: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16502 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed))
    {
      return gen_split_2778 (insn, operands);
    }
  goto ret0;
 ret0:
  return 0;
}

rtx
split_insns (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;
  recog_data.insn = NULL_RTX;

  switch (GET_CODE (x0))
    {
    case PARALLEL:
      goto L32135;
    case SET:
      goto L24065;
    case EH_RETURN:
      goto L32140;
    default:
     break;
   }
  goto ret0;

 L32135: ATTRIBUTE_UNUSED_LABEL
  return split_6 (x0, insn);

 L24065: ATTRIBUTE_UNUSED_LABEL
  return split_7 (x0, insn);

 L32140: ATTRIBUTE_UNUSED_LABEL
  if (
#line 11890 "../../gcc/config/i386/i386.md"
(epilogue_completed))
    {
      return gen_split_2563 (insn, operands);
    }
  goto ret0;
 ret0:
  return 0;
}

static rtx
peephole2_1 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *_pmatch_len ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    case QImode:
      goto L32686;
    case HImode:
      goto L32687;
    case SImode:
      goto L32688;
    case DImode:
      goto L32689;
    default:
      break;
    }
  goto ret0;

 L32686: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L27333;
    }
  goto ret0;

 L27333: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, QImode))
    {
      operands[1] = x1;
      goto L27334;
    }
  goto ret0;

 L27334: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 2)
    goto L27335;
  goto ret0;

 L27335: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L27484;
  goto ret0;

 L27484: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L27485;
    }
 L27336: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x3, operands[0]))
    goto L27337;
  goto ret0;

 L27485: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (plusminuslogic_operator (x3, SImode))
    {
      operands[3] = x3;
      goto L27486;
    }
  x3 = XEXP (x2, 0);
  goto L27336;

 L27486: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[4]))
    goto L27487;
  x3 = XEXP (x2, 0);
  goto L27336;

 L27487: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L27488;
    }
  x3 = XEXP (x2, 0);
  goto L27336;

 L27488: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L27489;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27489: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27490;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27490: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27491;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27491: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27492;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27492: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27493;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27493: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (3);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27494;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27494: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27495;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27495: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27496;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27496: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27497;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27497: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17286 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && REG_P (operands[0]) && REG_P (operands[4])
   && REGNO (operands[0]) == REGNO (operands[4])
   && peep2_reg_dead_p (4, operands[0])
   && (QImode != QImode
       || immediate_operand (operands[2], SImode)
       || q_regs_operand (operands[2], SImode))
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && ix86_match_ccmode (peep2_next_insn (3),
			 (GET_CODE (operands[3]) == PLUS
			  || GET_CODE (operands[3]) == MINUS)
			 ? CCGOCmode : CCNOmode)))
    {
      *_pmatch_len = 3;
      tem = gen_peephole2_2824 (insn, operands);
      if (tem != 0)
        return tem;
    }
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27336;

 L27337: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (plusminuslogic_operator (x3, QImode))
    {
      operands[3] = x3;
      goto L27338;
    }
  goto ret0;

 L27338: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L27339;
  goto ret0;

 L27339: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, QImode))
    {
      operands[2] = x4;
      goto L27340;
    }
  goto ret0;

 L27340: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L27341;
  goto ret0;

 L27341: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27342;
  goto ret0;

 L27342: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27343;
  goto ret0;

 L27343: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27344;
  goto ret0;

 L27344: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27345;
  goto ret0;

 L27345: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (3);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27346;
  goto ret0;

 L27346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27347;
  goto ret0;

 L27347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27348;
  goto ret0;

 L27348: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27349;
  goto ret0;

 L27349: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17226 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && peep2_reg_dead_p (4, operands[0])
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && (QImode != QImode
       || immediate_operand (operands[2], QImode)
       || q_regs_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3),
			 (GET_CODE (operands[3]) == PLUS
			  || GET_CODE (operands[3]) == MINUS)
			 ? CCGOCmode : CCNOmode)))
    {
      *_pmatch_len = 3;
      tem = gen_peephole2_2816 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32687: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L27353;
    }
  goto ret0;

 L27353: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, HImode))
    {
      operands[1] = x1;
      goto L27354;
    }
  goto ret0;

 L27354: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 2)
    goto L27355;
  goto ret0;

 L27355: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L27504;
  goto ret0;

 L27504: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, SImode))
    {
      operands[4] = x3;
      goto L27505;
    }
 L27356: ATTRIBUTE_UNUSED_LABEL
  if (rtx_equal_p (x3, operands[0]))
    goto L27357;
  goto ret0;

 L27505: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (plusminuslogic_operator (x3, SImode))
    {
      operands[3] = x3;
      goto L27506;
    }
  x3 = XEXP (x2, 0);
  goto L27356;

 L27506: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[4]))
    goto L27507;
  x3 = XEXP (x2, 0);
  goto L27356;

 L27507: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L27508;
    }
  x3 = XEXP (x2, 0);
  goto L27356;

 L27508: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L27509;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27509: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27510;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27510: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27511;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27511: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27512;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27512: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27513;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27513: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (3);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27514;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27514: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27515;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27515: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27516;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27516: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27517;
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27517: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17286 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && REG_P (operands[0]) && REG_P (operands[4])
   && REGNO (operands[0]) == REGNO (operands[4])
   && peep2_reg_dead_p (4, operands[0])
   && (HImode != QImode
       || immediate_operand (operands[2], SImode)
       || q_regs_operand (operands[2], SImode))
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && ix86_match_ccmode (peep2_next_insn (3),
			 (GET_CODE (operands[3]) == PLUS
			  || GET_CODE (operands[3]) == MINUS)
			 ? CCGOCmode : CCNOmode)))
    {
      *_pmatch_len = 3;
      tem = gen_peephole2_2825 (insn, operands);
      if (tem != 0)
        return tem;
    }
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  goto L27356;

 L27357: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (plusminuslogic_operator (x3, HImode))
    {
      operands[3] = x3;
      goto L27358;
    }
  goto ret0;

 L27358: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L27359;
  goto ret0;

 L27359: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (nonmemory_operand (x4, HImode))
    {
      operands[2] = x4;
      goto L27360;
    }
  goto ret0;

 L27360: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L27361;
  goto ret0;

 L27361: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27362;
  goto ret0;

 L27362: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27363;
  goto ret0;

 L27363: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27364;
  goto ret0;

 L27364: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27365;
  goto ret0;

 L27365: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (3);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27366;
  goto ret0;

 L27366: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27367;
  goto ret0;

 L27367: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27368;
  goto ret0;

 L27368: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27369;
  goto ret0;

 L27369: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17226 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && peep2_reg_dead_p (4, operands[0])
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && (HImode != QImode
       || immediate_operand (operands[2], QImode)
       || q_regs_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3),
			 (GET_CODE (operands[3]) == PLUS
			  || GET_CODE (operands[3]) == MINUS)
			 ? CCGOCmode : CCNOmode)))
    {
      *_pmatch_len = 3;
      tem = gen_peephole2_2817 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32688: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L27373;
    }
  goto ret0;

 L27373: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L27374;
    }
  goto ret0;

 L27374: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 2)
    goto L27375;
  goto ret0;

 L27375: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L27376;
  goto ret0;

 L27376: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27377;
  goto ret0;

 L27377: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (plusminuslogic_operator (x3, SImode))
    {
      operands[3] = x3;
      goto L27378;
    }
  goto ret0;

 L27378: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L27379;
  goto ret0;

 L27379: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_nonmemory_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L27380;
    }
  goto ret0;

 L27380: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L27381;
  goto ret0;

 L27381: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27382;
  goto ret0;

 L27382: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27383;
  goto ret0;

 L27383: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27384;
  goto ret0;

 L27384: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27385;
  goto ret0;

 L27385: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (3);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27386;
  goto ret0;

 L27386: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27387;
  goto ret0;

 L27387: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27388;
  goto ret0;

 L27388: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27389;
  goto ret0;

 L27389: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17226 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && peep2_reg_dead_p (4, operands[0])
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && (SImode != QImode
       || immediate_operand (operands[2], QImode)
       || q_regs_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3),
			 (GET_CODE (operands[3]) == PLUS
			  || GET_CODE (operands[3]) == MINUS)
			 ? CCGOCmode : CCNOmode)))
    {
      *_pmatch_len = 3;
      tem = gen_peephole2_2818 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32689: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L27393;
    }
  goto ret0;

 L27393: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L27394;
    }
  goto ret0;

 L27394: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 2)
    goto L27395;
  goto ret0;

 L27395: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L27396;
  goto ret0;

 L27396: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27397;
  goto ret0;

 L27397: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (plusminuslogic_operator (x3, DImode))
    {
      operands[3] = x3;
      goto L27398;
    }
  goto ret0;

 L27398: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L27399;
  goto ret0;

 L27399: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_nonmemory_operand (x4, DImode))
    {
      operands[2] = x4;
      goto L27400;
    }
  goto ret0;

 L27400: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L27401;
  goto ret0;

 L27401: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27402;
  goto ret0;

 L27402: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27403;
  goto ret0;

 L27403: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27404;
  goto ret0;

 L27404: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27405;
  goto ret0;

 L27405: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (3);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27406;
  goto ret0;

 L27406: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27407;
  goto ret0;

 L27407: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27408;
  goto ret0;

 L27408: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27409;
  goto ret0;

 L27409: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 17226 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && peep2_reg_dead_p (4, operands[0])
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && (DImode != QImode
       || immediate_operand (operands[2], QImode)
       || q_regs_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3),
			 (GET_CODE (operands[3]) == PLUS
			  || GET_CODE (operands[3]) == MINUS)
			 ? CCGOCmode : CCNOmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 3;
      tem = gen_peephole2_2819 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;
 ret0:
  return 0;
}

static rtx
peephole2_2 (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *_pmatch_len ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  switch (XVECLEN (x0, 0))
    {
    case 3:
      goto L27586;
    case 2:
      goto L27634;
    default:
      break;
    }
  goto ret0;

 L27586: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L27587;
  goto ret0;

 L27587: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32710;
    case DImode:
      goto L32711;
    default:
      break;
    }
  goto ret0;

 L32710: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L27588;
  goto ret0;

 L27588: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L27589;
  goto ret0;

 L27589: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L27590;
  goto ret0;

 L27590: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L27591;
    }
  goto ret0;

 L27591: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27592;
  goto ret0;

 L27592: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27593;
  goto ret0;

 L27593: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L27594;
  goto ret0;

 L27594: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L27595;
  goto ret0;

 L27595: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L32712;
  goto ret0;

 L32712: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17419 "../../gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2837 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32713: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17432 "../../gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2839 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32714: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17471 "../../gcc/config/i386/i386.md"
((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2845 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32715: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17486 "../../gcc/config/i386/i386.md"
((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2847 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32716: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17499 "../../gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2849 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32711: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L27600;
  goto ret0;

 L27600: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L27601;
  goto ret0;

 L27601: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L27602;
  goto ret0;

 L27602: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L27603;
    }
  goto ret0;

 L27603: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27604;
  goto ret0;

 L27604: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27605;
  goto ret0;

 L27605: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER)
    goto L27606;
  goto ret0;

 L27606: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode
      && GET_CODE (x2) == MEM)
    goto L27607;
  goto ret0;

 L27607: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SCRATCH)
    goto L32717;
  goto ret0;

 L32717: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17419 "../../gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2838 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32718: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17432 "../../gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2840 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32719: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17471 "../../gcc/config/i386/i386.md"
((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2846 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32720: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17486 "../../gcc/config/i386/i386.md"
((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2848 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32721: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17499 "../../gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2850 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L27634: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L27635;
  goto ret0;

 L27635: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32722;
    case DImode:
      goto L32723;
    case HImode:
      goto L32726;
    default:
      break;
    }
  goto ret0;

 L32722: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L27636;
 L32724: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L27805;
    }
  goto ret0;

 L27636: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == PLUS)
    goto L27637;
  x2 = XEXP (x1, 0);
  goto L32724;

 L27637: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L27638;
  x2 = XEXP (x1, 0);
  goto L32724;

 L27638: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[0] = x3;
      goto L27639;
    }
  x2 = XEXP (x1, 0);
  goto L32724;

 L27639: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27640;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32724;

 L27640: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L32727;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32724;

 L32727: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L32732;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32724;

 L32732: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L32737;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32724;

 L32737: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17446 "../../gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2841 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32738: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17457 "../../gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2843 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32739: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17512 "../../gcc/config/i386/i386.md"
(INTVAL (operands[0]) == GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2851 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32740: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17524 "../../gcc/config/i386/i386.md"
(INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2853 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32741: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17534 "../../gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2855 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32724;

 L27805: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == MULT)
    goto L27806;
  goto ret0;

 L27806: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32742;
  goto ret0;

 L32742: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27807;
    }
 L32743: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27825;
    }
 L32744: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27843;
    }
 L32745: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27880;
    }
  goto ret0;

 L27807: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const359_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L27808;
    }
  x3 = XEXP (x2, 0);
  goto L32743;

 L27808: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27809;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32743;

 L27809: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2858 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32743;

 L27825: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const359_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L27826;
    }
  x3 = XEXP (x2, 0);
  goto L32744;

 L27826: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27827;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32744;

 L27827: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17577 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && (!TARGET_PARTIAL_REG_STALL || SImode == SImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2860 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32744;

 L27843: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L27844;
    }
  x3 = XEXP (x2, 0);
  goto L32745;

 L27844: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27845;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32745;

 L27845: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17593 "../../gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
   && !satisfies_constraint_K (operands[2])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2862 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32745;

 L27880: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L27881;
    }
  goto ret0;

 L27881: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27882;
  goto ret0;

 L27882: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17625 "../../gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
   && satisfies_constraint_K (operands[2])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2866 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32723: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 7)
    goto L27645;
 L32725: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L27814;
    }
  goto ret0;

 L27645: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == PLUS)
    goto L27646;
  x2 = XEXP (x1, 0);
  goto L32725;

 L27646: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 7)
    goto L27647;
  x2 = XEXP (x1, 0);
  goto L32725;

 L27647: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L27648;
    }
  x2 = XEXP (x1, 0);
  goto L32725;

 L27648: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27649;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32725;

 L27649: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode)
    goto L32746;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32725;

 L32746: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == REG)
    goto L32751;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32725;

 L32751: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x2, 0) == 17)
    goto L32756;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32725;

 L32756: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17446 "../../gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2842 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32757: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17457 "../../gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2844 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32758: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17512 "../../gcc/config/i386/i386.md"
(INTVAL (operands[0]) == GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2852 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32759: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17524 "../../gcc/config/i386/i386.md"
(INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2854 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32760: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17534 "../../gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2856 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L32725;

 L27814: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32761;
  goto ret0;

 L32761: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case MULT:
      goto L27815;
    case ZERO_EXTEND:
      goto L27860;
    default:
     break;
   }
  goto ret0;

 L27815: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode)
    goto L32763;
  goto ret0;

 L32763: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L27816;
    }
 L32764: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L27834;
    }
 L32765: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L27852;
    }
 L32766: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L27889;
    }
  goto ret0;

 L27816: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const359_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L27817;
    }
  x3 = XEXP (x2, 0);
  goto L32764;

 L27817: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27818;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32764;

 L27818: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 17563 "../../gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   || DImode == SImode
   || optimize_function_for_size_p (cfun)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2859 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32764;

 L27834: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const359_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L27835;
    }
  x3 = XEXP (x2, 0);
  goto L32765;

 L27835: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27836;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32765;

 L27836: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 17577 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && (!TARGET_PARTIAL_REG_STALL || DImode == SImode)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2861 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32765;

 L27852: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L27853;
    }
  x3 = XEXP (x2, 0);
  goto L32766;

 L27853: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27854;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32766;

 L27854: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 17593 "../../gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
   && !satisfies_constraint_K (operands[2])) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2863 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L32766;

 L27889: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L27890;
    }
  goto ret0;

 L27890: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27891;
  goto ret0;

 L27891: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 17625 "../../gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
   && satisfies_constraint_K (operands[2])) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2867 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L27860: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == MULT)
    goto L27861;
  goto ret0;

 L27861: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (memory_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L27862;
    }
  goto ret0;

 L27862: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (immediate_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L27863;
    }
  goto ret0;

 L27863: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27864;
  goto ret0;

 L27864: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17606 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
   && !satisfies_constraint_K (operands[2])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2864 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32726: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L27869;
    }
  goto ret0;

 L27869: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == HImode
      && GET_CODE (x2) == MULT)
    goto L27870;
  goto ret0;

 L27870: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L27871;
    }
  goto ret0;

 L27871: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, HImode))
    {
      operands[2] = x3;
      goto L27872;
    }
  goto ret0;

 L27872: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27873;
  goto ret0;

 L27873: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17625 "../../gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
   && satisfies_constraint_K (operands[2])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2865 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;
 ret0:
  return 0;
}

rtx
peephole2_insns (rtx x0 ATTRIBUTE_UNUSED,
	rtx insn ATTRIBUTE_UNUSED,
	int *_pmatch_len ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x1 ATTRIBUTE_UNUSED;
  rtx x2 ATTRIBUTE_UNUSED;
  rtx x3 ATTRIBUTE_UNUSED;
  rtx x4 ATTRIBUTE_UNUSED;
  rtx x5 ATTRIBUTE_UNUSED;
  rtx x6 ATTRIBUTE_UNUSED;
  rtx x7 ATTRIBUTE_UNUSED;
  rtx x8 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;
  recog_data.insn = NULL_RTX;

  if (peep2_current_count >= 2)
    goto L24361;
 L24069: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L24070;
 L27028: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 4)
    goto L27029;
 L25750: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == PARALLEL
      && XVECLEN (x0, 0) == 2)
    goto L25751;
 L26337: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 3)
    goto L26338;
 L27119: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 2)
    goto L27120;
 L27170: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L27171;
 L27410: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 3)
    goto L27411;
 L27273: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == PARALLEL
      && XVECLEN (x0, 0) == 2)
    goto L27274;
 L27290: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 2)
    goto L27291;
 L27313: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == PARALLEL
      && XVECLEN (x0, 0) == 2)
    goto L27314;
 L27330: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 4)
    goto L27331;
 L27444: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 3)
    goto L27445;
 L27519: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L27525;
 L27892: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 2)
    goto L27893;
 L27585: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == PARALLEL)
    goto L32639;
 L28328: ATTRIBUTE_UNUSED_LABEL
  if (peep2_current_count >= 3)
    goto L28329;
  goto ret0;

 L24361: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L24362;
  goto L24069;

 L24362: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    case SFmode:
      goto L32641;
    case DFmode:
      goto L32642;
    default:
      break;
    }
  goto L24069;

 L32641: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L24363;
    }
  goto L24069;

 L24363: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, SFmode))
    {
      operands[1] = x1;
      goto L24364;
    }
  goto L24069;

 L24364: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L24365;
  goto L24069;

 L24365: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32643;
    case DImode:
      goto L32644;
    default:
      break;
    }
  goto L24069;

 L32643: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24366;
    }
  goto L24069;

 L24366: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == FIX)
    goto L24367;
  goto L24069;

 L24367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0])
      && 
#line 4445 "../../gcc/config/i386/i386.md"
(TARGET_SHORTEN_X87_SSE
   && !(TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ())
   && peep2_reg_dead_p (2, operands[0])))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2178 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L24069;

 L32644: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24382;
    }
  goto L24069;

 L24382: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == FIX)
    goto L24383;
  goto L24069;

 L24383: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0])
      && 
#line 4445 "../../gcc/config/i386/i386.md"
(TARGET_SHORTEN_X87_SSE
   && !(TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ())
   && peep2_reg_dead_p (2, operands[0])))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2180 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L24069;

 L32642: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DFmode))
    {
      operands[0] = x1;
      goto L24371;
    }
  goto L24069;

 L24371: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, DFmode))
    {
      operands[1] = x1;
      goto L24372;
    }
  goto L24069;

 L24372: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L24373;
  goto L24069;

 L24373: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32645;
    case DImode:
      goto L32646;
    default:
      break;
    }
  goto L24069;

 L32645: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L24374;
    }
  goto L24069;

 L24374: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && GET_CODE (x2) == FIX)
    goto L24375;
  goto L24069;

 L24375: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0])
      && 
#line 4445 "../../gcc/config/i386/i386.md"
(TARGET_SHORTEN_X87_SSE
   && !(TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ())
   && peep2_reg_dead_p (2, operands[0])))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2179 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L24069;

 L32646: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[2] = x2;
      goto L24390;
    }
  goto L24069;

 L24390: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == FIX)
    goto L24391;
  goto L24069;

 L24391: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0])
      && 
#line 4445 "../../gcc/config/i386/i386.md"
(TARGET_SHORTEN_X87_SSE
   && !(TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ())
   && peep2_reg_dead_p (2, operands[0])))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2181 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L24069;

 L24070: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    case DImode:
      goto L32647;
    case SImode:
      goto L32648;
    default:
      break;
    }
  goto L27028;

 L32647: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L24071;
    }
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L24401;
    }
  goto L27028;

 L24071: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (immediate_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L24072;
    }
  goto L27028;

 L24072: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1632 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !symbolic_operand (operands[1], DImode)
   && !x86_64_immediate_operand (operands[1], DImode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2086 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L24077: ATTRIBUTE_UNUSED_LABEL
  if (
#line 1643 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !symbolic_operand (operands[1], DImode)
   && !x86_64_immediate_operand (operands[1], DImode) && 1))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2087 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27028;

 L24401: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode
      && GET_CODE (x1) == FIX)
    goto L24402;
  goto L27028;

 L24402: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case DFmode:
      goto L32650;
    case SFmode:
      goto L32651;
    default:
      break;
    }
  goto L27028;

 L32650: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L24403;
    }
  goto L27028;

 L24403: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4455 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ()))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2183 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27028;

 L32651: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L24415;
    }
  goto L27028;

 L24415: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4463 "../../gcc/config/i386/i386.md"
(TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ()))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2185 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27028;

 L32648: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L24395;
    }
  goto L27028;

 L24395: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode
      && GET_CODE (x1) == FIX)
    goto L24396;
  goto L27028;

 L24396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case DFmode:
      goto L32652;
    case SFmode:
      goto L32653;
    default:
      break;
    }
  goto L27028;

 L32652: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, DFmode))
    {
      operands[1] = x2;
      goto L24397;
    }
  goto L27028;

 L24397: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4455 "../../gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ()))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2182 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27028;

 L32653: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x2, SFmode))
    {
      operands[1] = x2;
      goto L24409;
    }
  goto L27028;

 L24409: ATTRIBUTE_UNUSED_LABEL
  if (
#line 4463 "../../gcc/config/i386/i386.md"
(TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ()))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2184 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27028;

 L27029: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == PARALLEL
      && XVECLEN (x0, 0) == 6)
    goto L27030;
  goto L25750;

 L27030: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L27031;
  goto L25750;

 L27031: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27032;
  goto L25750;

 L27032: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCmode)
    goto L32654;
  goto L25750;

 L32654: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case COMPARE:
      goto L27033;
    case IF_THEN_ELSE:
      goto L27067;
    default:
     break;
   }
  goto L25750;

 L27033: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L27034;
  goto L25750;

 L27034: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, VOIDmode))
    {
      operands[4] = x4;
      goto L27035;
    }
  goto L25750;

 L27035: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == BLKmode
      && GET_CODE (x3) == MEM)
    goto L27036;
  goto L25750;

 L27036: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, VOIDmode))
    {
      operands[5] = x4;
      goto L27037;
    }
  goto L25750;

 L27037: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L27038;
  goto L25750;

 L27038: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[6] = x2;
      goto L27039;
    }
  goto L25750;

 L27039: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L27040;
  goto L25750;

 L27040: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L27041;
    }
  goto L25750;

 L27041: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L27042;
  goto L25750;

 L27042: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L27043;
    }
  goto L25750;

 L27043: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L27044;
  goto L25750;

 L27044: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L27045;
    }
  goto L25750;

 L27045: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L27046;
  goto L25750;

 L27046: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L27047;
    }
  goto L25750;

 L27047: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27048;
  goto L25750;

 L27048: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      operands[7] = x2;
      goto L27049;
    }
  goto L25750;

 L27049: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == GTU)
    goto L27050;
  goto L25750;

 L27050: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27051;
  goto L25750;

 L27051: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27052;
  goto L25750;

 L27052: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27053;
  goto L25750;

 L27053: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      operands[8] = x2;
      goto L27054;
    }
  goto L25750;

 L27054: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == LTU)
    goto L27055;
  goto L25750;

 L27055: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27056;
  goto L25750;

 L27056: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27057;
  goto L25750;

 L27057: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (3);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27058;
  goto L25750;

 L27058: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27059;
  goto L25750;

 L27059: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27060;
  goto L25750;

 L27060: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[7]))
    goto L27061;
  goto L25750;

 L27061: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[8])
      && 
#line 16277 "../../gcc/config/i386/i386.md"
(peep2_reg_dead_p (4, operands[7]) && peep2_reg_dead_p (4, operands[8])))
    {
      *_pmatch_len = 3;
      tem = gen_peephole2_2766 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L25750;

 L27067: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == NE)
    goto L27068;
  goto L25750;

 L27068: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (register_operand (x4, VOIDmode))
    {
      operands[6] = x4;
      goto L27069;
    }
  goto L25750;

 L27069: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27070;
  goto L25750;

 L27070: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == COMPARE)
    goto L27071;
  goto L25750;

 L27071: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L27072;
  goto L25750;

 L27072: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, VOIDmode))
    {
      operands[4] = x5;
      goto L27073;
    }
  goto L25750;

 L27073: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == BLKmode
      && GET_CODE (x4) == MEM)
    goto L27074;
  goto L25750;

 L27074: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, VOIDmode))
    {
      operands[5] = x5;
      goto L27075;
    }
  goto L25750;

 L27075: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27076;
  goto L25750;

 L27076: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE)
    goto L27077;
  goto L25750;

 L27077: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (immediate_operand (x2, SImode))
    {
      operands[3] = x2;
      goto L27078;
    }
  goto L25750;

 L27078: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE)
    goto L27079;
  goto L25750;

 L27079: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27080;
  goto L25750;

 L27080: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == CLOBBER)
    goto L27081;
  goto L25750;

 L27081: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L27082;
    }
  goto L25750;

 L27082: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER)
    goto L27083;
  goto L25750;

 L27083: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[1] = x2;
      goto L27084;
    }
  goto L25750;

 L27084: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == CLOBBER)
    goto L27085;
  goto L25750;

 L27085: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L27086;
    }
  goto L25750;

 L27086: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27087;
  goto L25750;

 L27087: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      operands[7] = x2;
      goto L27088;
    }
  goto L25750;

 L27088: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == GTU)
    goto L27089;
  goto L25750;

 L27089: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27090;
  goto L25750;

 L27090: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27091;
  goto L25750;

 L27091: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27092;
  goto L25750;

 L27092: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      operands[8] = x2;
      goto L27093;
    }
  goto L25750;

 L27093: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == QImode
      && GET_CODE (x2) == LTU)
    goto L27094;
  goto L25750;

 L27094: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L27095;
  goto L25750;

 L27095: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L27096;
  goto L25750;

 L27096: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (3);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27097;
  goto L25750;

 L27097: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27098;
  goto L25750;

 L27098: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27099;
  goto L25750;

 L27099: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[7]))
    goto L27100;
  goto L25750;

 L27100: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[8])
      && 
#line 16309 "../../gcc/config/i386/i386.md"
(peep2_reg_dead_p (4, operands[7]) && peep2_reg_dead_p (4, operands[8])))
    {
      *_pmatch_len = 3;
      tem = gen_peephole2_2767 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L25750;

 L25751: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L25752;
  goto L26337;

 L25752: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case DImode:
      goto L32658;
    case TImode:
      goto L32657;
    default:
      break;
    }
  goto L26337;

 L32658: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == ZERO_EXTRACT)
    goto L26041;
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L25753;
    }
  goto L26337;

 L26041: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[0] = x3;
      goto L26042;
    }
  goto L26337;

 L26042: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L26043;
  goto L26337;

 L26043: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (const_0_to_63_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L26064;
    }
  goto L26337;

 L26064: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode
      && GET_CODE (x2) == NOT)
    goto L26065;
  if (GET_CODE (x2) == CONST_INT)
    goto L32659;
  goto L26337;

 L26065: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == ZERO_EXTRACT)
    goto L26066;
  goto L26337;

 L26066: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L26067;
  goto L26337;

 L26067: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (1)])
    goto L26068;
  goto L26337;

 L26068: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (rtx_equal_p (x4, operands[1]))
    goto L26069;
  goto L26337;

 L26069: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26070;
  goto L26337;

 L26070: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10504 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_USE_BT))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2509 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L32659: ATTRIBUTE_UNUSED_LABEL
  if ((int) XWINT (x2, 0) == XWINT (x2, 0))
    switch ((int) XWINT (x2, 0))
      {
      case 1L:
        goto L26045;
      case 0L:
        goto L26055;
      default:
        break;
      }
  goto L26337;

 L26045: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26046;
  goto L26337;

 L26046: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10439 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_USE_BT))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2507 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L26055: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L26056;
  goto L26337;

 L26056: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 10471 "../../gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_USE_BT))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2508 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L25753: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode)
    goto L32661;
  goto L26337;

 L32661: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFT:
      goto L25754;
    case LSHIFTRT:
      goto L25846;
    case ASHIFTRT:
      goto L25855;
    default:
     break;
   }
  goto L26337;

 L25754: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonmemory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25755;
    }
  goto L26337;

 L25755: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25756;
    }
  goto L26337;

 L25756: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25757;
  goto L26337;

 L25757: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9007 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2445 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L25846: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25847;
    }
  goto L26337;

 L25847: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25848;
    }
  goto L26337;

 L25848: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25849;
  goto L26337;

 L25849: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9634 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2470 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L25855: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L25856;
    }
  goto L26337;

 L25856: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25857;
    }
  goto L26337;

 L25857: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25858;
  goto L26337;

 L25858: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9634 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 795 "../../gcc/config/i386/i386.md"
(!TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2471 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L32657: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, TImode))
    {
      operands[0] = x2;
      goto L25762;
    }
  goto L26337;

 L25762: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == TImode)
    goto L32664;
  goto L26337;

 L32664: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case ASHIFT:
      goto L25763;
    case LSHIFTRT:
      goto L25864;
    case ASHIFTRT:
      goto L25873;
    default:
     break;
   }
  goto L26337;

 L25763: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (nonmemory_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25764;
    }
  goto L26337;

 L25764: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25765;
    }
  goto L26337;

 L25765: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25766;
  goto L26337;

 L25766: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9007 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2446 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L25864: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25865;
    }
  goto L26337;

 L25865: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25866;
    }
  goto L26337;

 L25866: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25867;
  goto L26337;

 L25867: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9634 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2472 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L25873: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, TImode))
    {
      operands[1] = x3;
      goto L25874;
    }
  goto L26337;

 L25874: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L25875;
    }
  goto L26337;

 L25875: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L25876;
  goto L26337;

 L25876: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && (
#line 9634 "../../gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 796 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2473 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L26337;

 L26338: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L26339;
  goto L27119;

 L26339: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  if (GET_CODE (x1) == REG
      && XINT (x1, 0) == 17)
    goto L26340;
  goto L27119;

 L26340: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  operands[0] = x1;
  goto L26341;

 L26341: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L26342;
  goto L27119;

 L26342: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L26343;
    }
  goto L27119;

 L26343: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (ix86_comparison_operator (x2, QImode))
    {
      operands[2] = x2;
      goto L26344;
    }
  goto L27119;

 L26344: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L26345;
  goto L27119;

 L26345: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)])
    goto L26346;
  goto L27119;

 L26346: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  switch (GET_CODE (x1))
    {
    case SET:
      goto L26347;
    case PARALLEL:
      goto L32667;
    default:
     break;
   }
  goto L27119;

 L26347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (q_regs_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L26348;
    }
  goto L27119;

 L26348: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == ZERO_EXTEND)
    goto L26349;
  goto L27119;

 L26349: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1])
      && 
#line 11199 "../../gcc/config/i386/i386.md"
((peep2_reg_dead_p (3, operands[1])
    || operands_match_p (operands[1], operands[3]))
   && ! reg_overlap_mentioned_p (operands[3], operands[0])))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_2533 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27119;

 L32667: ATTRIBUTE_UNUSED_LABEL
  if (XVECLEN (x1, 0) == 2)
    goto L26360;
  goto L27119;

 L26360: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L26361;
  goto L27119;

 L26361: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (q_regs_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L26362;
    }
  goto L27119;

 L26362: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == ZERO_EXTEND)
    goto L26363;
  goto L27119;

 L26363: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L26364;
  goto L27119;

 L26364: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L26365;
  goto L27119;

 L26365: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17
      && 
#line 11221 "../../gcc/config/i386/i386.md"
((peep2_reg_dead_p (3, operands[1])
    || operands_match_p (operands[1], operands[3]))
   && ! reg_overlap_mentioned_p (operands[3], operands[0])))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_2534 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27119;

 L27120: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L27121;
  goto L27170;

 L27121: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  if (fp_register_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L27122;
    }
  goto L27170;

 L27122: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (fp_register_operand (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L27123;
    }
  goto L27170;

 L27123: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27124;
  goto L27170;

 L27124: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L27125;
  goto L27170;

 L27125: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (binary_fp_operator (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L27126;
    }
  goto L27170;

 L27126: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27127;
  goto L27170;

 L27127: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (memory_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L27128;
    }
  goto L27170;

 L27128: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16610 "../../gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2779 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27170;

 L27171: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    case QImode:
      goto L32668;
    case HImode:
      goto L32669;
    case SImode:
      goto L32670;
    case DImode:
      goto L32671;
    case SFmode:
      goto L32672;
    default:
      break;
    }
 L27223: ATTRIBUTE_UNUSED_LABEL
  if (flags_reg_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L27224;
    }
  goto L27410;

 L32668: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L27172;
    }
 L32673: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L27197;
    }
 L32676: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L27230;
    }
  goto L27223;

 L27172: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, QImode))
    {
      operands[1] = x1;
      goto L27173;
    }
  x1 = XEXP (x0, 0);
  goto L32673;

 L27173: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16960 "../../gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2792 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L32673;

 L27197: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 16982 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && !TARGET_USE_MOV0
   && TARGET_SPLIT_LONG_MOVES
   && get_attr_length (insn) >= ix86_cur_cost ()->large_insn
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2797 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L27209: ATTRIBUTE_UNUSED_LABEL
  if (immediate_operand (x1, QImode))
    {
      operands[1] = x1;
      goto L27210;
    }
  x1 = XEXP (x0, 0);
  goto L32676;

 L27210: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16996 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && TARGET_SPLIT_LONG_MOVES
   && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2800 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L32676;

 L27230: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == QImode
      && GET_CODE (x1) == NOT)
    goto L27231;
  x1 = XEXP (x0, 0);
  goto L27223;

 L27231: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    {
      operands[1] = x2;
      goto L27232;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L27232: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17027 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((TARGET_NOT_UNPAIRABLE
	&& (!MEM_P (operands[0])
	    || !memory_displacement_operand (operands[0], QImode)))
       || (TARGET_NOT_VECTORMODE
	   && long_memory_operand (operands[0], QImode)))
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2804 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L32669: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L27177;
    }
 L32674: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L27201;
    }
 L32677: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L27236;
    }
  goto L27223;

 L27177: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, HImode))
    {
      operands[1] = x1;
      goto L27178;
    }
  x1 = XEXP (x0, 0);
  goto L32674;

 L27178: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16960 "../../gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2793 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L32674;

 L27201: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 16982 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && !TARGET_USE_MOV0
   && TARGET_SPLIT_LONG_MOVES
   && get_attr_length (insn) >= ix86_cur_cost ()->large_insn
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2798 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L27214: ATTRIBUTE_UNUSED_LABEL
  if (immediate_operand (x1, HImode))
    {
      operands[1] = x1;
      goto L27215;
    }
  x1 = XEXP (x0, 0);
  goto L32677;

 L27215: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16996 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && TARGET_SPLIT_LONG_MOVES
   && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2801 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L32677;

 L27236: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == HImode
      && GET_CODE (x1) == NOT)
    goto L27237;
  x1 = XEXP (x0, 0);
  goto L27223;

 L27237: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, HImode))
    {
      operands[1] = x2;
      goto L27238;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L27238: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17027 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((TARGET_NOT_UNPAIRABLE
	&& (!MEM_P (operands[0])
	    || !memory_displacement_operand (operands[0], HImode)))
       || (TARGET_NOT_VECTORMODE
	   && long_memory_operand (operands[0], HImode)))
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2805 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L32670: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L27182;
    }
 L32675: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L27205;
    }
 L32678: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L27242;
    }
  goto L27223;

 L27182: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L27183;
    }
  x1 = XEXP (x0, 0);
  goto L32675;

 L27183: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16960 "../../gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2794 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L32675;

 L27205: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 16982 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && !TARGET_USE_MOV0
   && TARGET_SPLIT_LONG_MOVES
   && get_attr_length (insn) >= ix86_cur_cost ()->large_insn
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2799 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L27219: ATTRIBUTE_UNUSED_LABEL
  if (immediate_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L27220;
    }
  x1 = XEXP (x0, 0);
  goto L32678;

 L27220: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16996 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && TARGET_SPLIT_LONG_MOVES
   && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2802 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L32678;

 L27242: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode
      && GET_CODE (x1) == NOT)
    goto L27243;
  x1 = XEXP (x0, 0);
  goto L27223;

 L27243: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L27244;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L27244: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17027 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((TARGET_NOT_UNPAIRABLE
	&& (!MEM_P (operands[0])
	    || !memory_displacement_operand (operands[0], SImode)))
       || (TARGET_NOT_VECTORMODE
	   && long_memory_operand (operands[0], SImode)))
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2806 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L32671: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L27187;
    }
  goto L27223;

 L27187: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, DImode))
    {
      operands[1] = x1;
      goto L27188;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L27188: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 16960 "../../gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2795 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L32672: ATTRIBUTE_UNUSED_LABEL
  if (push_operand (x1, SFmode))
    {
      operands[0] = x1;
      goto L27192;
    }
  goto L27223;

 L27192: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (memory_operand (x1, SFmode))
    {
      operands[1] = x1;
      goto L27193;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L27193: ATTRIBUTE_UNUSED_LABEL
  if (
#line 16971 "../../gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2796 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27223;

 L27224: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (compare_operator (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L27225;
    }
  goto L27410;

 L27225: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32680;
    case QImode:
      goto L32681;
    default:
      break;
    }
  goto L27410;

 L32680: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == AND)
    goto L27250;
  if (memory_operand (x2, SImode))
    {
      operands[2] = x2;
      goto L27226;
    }
  goto L27410;

 L27250: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode)
    goto L32683;
  goto L27410;

 L32683: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == ZERO_EXTRACT)
    goto L27267;
  if (register_operand (x3, SImode))
    {
      operands[2] = x3;
      goto L27251;
    }
  goto L27410;

 L27267: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (ext_register_operand (x4, VOIDmode))
    {
      operands[2] = x4;
      goto L27268;
    }
  goto L27410;

 L27268: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L27269;
  goto L27410;

 L27269: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + (8)])
    goto L27270;
  goto L27410;

 L27270: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L27271;
    }
  goto L27410;

 L27271: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17092 "../../gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL
   && ix86_match_ccmode (insn, CCNOmode)
   && true_regnum (operands[2]) != AX_REG
   && peep2_reg_dead_p (1, operands[2])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2809 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27410;

 L27251: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L27252;
    }
  goto L27410;

 L27252: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17051 "../../gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && (true_regnum (operands[2]) != AX_REG
       || satisfies_constraint_K (operands[3]))
   && peep2_reg_dead_p (1, operands[2])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2807 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27410;

 L27226: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17009 "../../gcc/config/i386/i386.md"
(optimize_insn_for_speed_p () && ix86_match_ccmode (insn, CCNOmode)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2803 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27410;

 L32681: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x2) == AND)
    goto L27258;
  goto L27410;

 L27258: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, QImode))
    {
      operands[2] = x3;
      goto L27259;
    }
  goto L27410;

 L27259: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (immediate_operand (x3, QImode))
    {
      operands[3] = x3;
      goto L27260;
    }
  goto L27410;

 L27260: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17071 "../../gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL
   && ix86_match_ccmode (insn, CCNOmode)
   && true_regnum (operands[2]) != AX_REG
   && peep2_reg_dead_p (1, operands[2])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2808 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27410;

 L27411: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == PARALLEL
      && XVECLEN (x0, 0) == 2)
    goto L27412;
  goto L27273;

 L27412: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L27413;
  goto L27273;

 L27413: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case QImode:
      goto L32684;
    case HImode:
      goto L32685;
    default:
      break;
    }
  goto L27273;

 L32684: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, QImode))
    {
      operands[0] = x2;
      goto L27414;
    }
  goto L27273;

 L27414: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (plusminuslogic_operator (x2, QImode))
    {
      operands[2] = x2;
      goto L27415;
    }
  goto L27273;

 L27415: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27416;
  goto L27273;

 L27416: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (memory_operand (x3, QImode))
    {
      operands[1] = x3;
      goto L27417;
    }
  goto L27273;

 L27417: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27418;
  goto L27273;

 L27418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27419;
  goto L27273;

 L27419: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27420;
  goto L27273;

 L27420: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27421;
  goto L27273;

 L27421: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27422;
  goto L27273;

 L27422: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27423;
  goto L27273;

 L27423: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27424;
  goto L27273;

 L27424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27425;
  goto L27273;

 L27425: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27426;
  goto L27273;

 L27426: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17257 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && GET_CODE (operands[2]) != MINUS
   && peep2_reg_dead_p (3, operands[0])
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && ix86_match_ccmode (peep2_next_insn (2),
			 GET_CODE (operands[2]) == PLUS
			 ? CCGOCmode : CCNOmode)))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_2820 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27273;

 L32685: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, HImode))
    {
      operands[0] = x2;
      goto L27431;
    }
  goto L27273;

 L27431: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (plusminuslogic_operator (x2, HImode))
    {
      operands[2] = x2;
      goto L27432;
    }
  goto L27273;

 L27432: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27433;
  goto L27273;

 L27433: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (memory_operand (x3, HImode))
    {
      operands[1] = x3;
      goto L27434;
    }
  goto L27273;

 L27434: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27435;
  goto L27273;

 L27435: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27436;
  goto L27273;

 L27436: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27437;
  goto L27273;

 L27437: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27438;
  goto L27273;

 L27438: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27439;
  goto L27273;

 L27439: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27440;
  goto L27273;

 L27440: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27441;
  goto L27273;

 L27441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27442;
  goto L27273;

 L27442: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27443;
  goto L27273;

 L27443: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17257 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && GET_CODE (operands[2]) != MINUS
   && peep2_reg_dead_p (3, operands[0])
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && ix86_match_ccmode (peep2_next_insn (2),
			 GET_CODE (operands[2]) == PLUS
			 ? CCGOCmode : CCNOmode)))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_2821 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27273;

 L27274: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L27275;
  goto L27290;

 L27275: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L27276;
    }
  goto L27290;

 L27276: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (arith_or_logical_operator (x2, SImode))
    {
      operands[3] = x2;
      goto L27277;
    }
  goto L27290;

 L27277: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27278;
 L27286: ATTRIBUTE_UNUSED_LABEL
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27287;
    }
  goto L27290;

 L27278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27279;
    }
  x3 = XEXP (x2, 0);
  goto L27286;

 L27279: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27280;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L27286;

 L27280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17123 "../../gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2810 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L27286;

 L27287: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[0]))
    goto L27288;
  goto L27290;

 L27288: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27289;
  goto L27290;

 L27289: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17136 "../../gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2811 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27290;

 L27291: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L27292;
  goto L27313;

 L27292: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L27293;
    }
 L27304: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L27305;
    }
  goto L27313;

 L27293: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (register_operand (x1, SImode))
    {
      operands[1] = x1;
      goto L27294;
    }
  x1 = XEXP (x0, 0);
  goto L27304;

 L27294: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 2)
    goto L27295;
  x1 = XEXP (x0, 0);
  goto L27304;

 L27295: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L27296;
  x1 = XEXP (x0, 0);
  goto L27304;

 L27296: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27297;
  x1 = XEXP (x0, 0);
  goto L27304;

 L27297: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (commutative_operator (x3, SImode))
    {
      operands[3] = x3;
      goto L27298;
    }
  x1 = XEXP (x0, 0);
  goto L27304;

 L27298: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L27299;
  x1 = XEXP (x0, 0);
  goto L27304;

 L27299: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (memory_operand (x4, SImode))
    {
      operands[2] = x4;
      goto L27300;
    }
  x1 = XEXP (x0, 0);
  goto L27304;

 L27300: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L27301;
  x1 = XEXP (x0, 0);
  goto L27304;

 L27301: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17
      && 
#line 17153 "../../gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])
   && GENERAL_REGNO_P (REGNO (operands[0]))
   && GENERAL_REGNO_P (REGNO (operands[1]))))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2812 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27304;

 L27305: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (register_operand (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L27306;
    }
  goto L27313;

 L27306: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27307;
  goto L27313;

 L27307: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L27308;
  goto L27313;

 L27308: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (commutative_operator (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L27309;
    }
  goto L27313;

 L27309: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27310;
  goto L27313;

 L27310: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (memory_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L27311;
    }
  goto L27313;

 L27311: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17169 "../../gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])
   && ((MMX_REG_P (operands[0]) && MMX_REG_P (operands[1])) 
       || (SSE_REG_P (operands[0]) && SSE_REG_P (operands[1])))))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2813 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27313;

 L27314: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L27315;
  goto L27330;

 L27315: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L27316;
    }
  goto L27330;

 L27316: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (arith_or_logical_operator (x2, SImode))
    {
      operands[3] = x2;
      goto L27317;
    }
  goto L27330;

 L27317: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27318;
 L27326: ATTRIBUTE_UNUSED_LABEL
  if (nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27327;
    }
  goto L27330;

 L27318: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27319;
    }
  x3 = XEXP (x2, 0);
  goto L27326;

 L27319: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27320;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L27326;

 L27320: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17189 "../../gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   /* Do not split stack checking probes.  */
   && GET_CODE (operands[3]) != IOR && operands[1] != const0_rtx))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2814 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  goto L27326;

 L27327: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, operands[0]))
    goto L27328;
  goto L27330;

 L27328: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27329;
  goto L27330;

 L27329: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17
      && 
#line 17205 "../../gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   /* Do not split stack checking probes.  */
   && GET_CODE (operands[3]) != IOR && operands[1] != const0_rtx))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2815 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27330;

 L27331: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L27332;
  goto L27444;

 L27332: ATTRIBUTE_UNUSED_LABEL
  tem = peephole2_1 (x0, insn, _pmatch_len);
  if (tem != 0)
    return tem;
  goto L27444;

 L27445: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == PARALLEL
      && XVECLEN (x0, 0) == 2)
    goto L27446;
  goto L27519;

 L27446: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L27447;
  goto L27519;

 L27447: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SImode:
      goto L32690;
    case DImode:
      goto L32691;
    default:
      break;
    }
  goto L27519;

 L32690: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, SImode))
    {
      operands[0] = x2;
      goto L27448;
    }
  goto L27519;

 L27448: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (plusminuslogic_operator (x2, SImode))
    {
      operands[2] = x2;
      goto L27449;
    }
  goto L27519;

 L27449: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27450;
  goto L27519;

 L27450: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (memory_operand (x3, SImode))
    {
      operands[1] = x3;
      goto L27451;
    }
  goto L27519;

 L27451: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27452;
  goto L27519;

 L27452: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27453;
  goto L27519;

 L27453: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27454;
  goto L27519;

 L27454: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27455;
  goto L27519;

 L27455: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27456;
  goto L27519;

 L27456: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27457;
  goto L27519;

 L27457: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27458;
  goto L27519;

 L27458: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27459;
  goto L27519;

 L27459: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27460;
  goto L27519;

 L27460: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17257 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && GET_CODE (operands[2]) != MINUS
   && peep2_reg_dead_p (3, operands[0])
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && ix86_match_ccmode (peep2_next_insn (2),
			 GET_CODE (operands[2]) == PLUS
			 ? CCGOCmode : CCNOmode)))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_2822 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27519;

 L32691: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, DImode))
    {
      operands[0] = x2;
      goto L27465;
    }
  goto L27519;

 L27465: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (plusminuslogic_operator (x2, DImode))
    {
      operands[2] = x2;
      goto L27466;
    }
  goto L27519;

 L27466: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27467;
  goto L27519;

 L27467: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (memory_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L27468;
    }
  goto L27519;

 L27468: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27469;
  goto L27519;

 L27469: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27470;
  goto L27519;

 L27470: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27471;
  goto L27519;

 L27471: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[1]))
    goto L27472;
  goto L27519;

 L27472: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, operands[0]))
    goto L27473;
  goto L27519;

 L27473: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L27474;
  goto L27519;

 L27474: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27475;
  goto L27519;

 L27475: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == COMPARE)
    goto L27476;
  goto L27519;

 L27476: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L27477;
  goto L27519;

 L27477: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (x3 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && (
#line 17257 "../../gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && GET_CODE (operands[2]) != MINUS
   && peep2_reg_dead_p (3, operands[0])
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && ix86_match_ccmode (peep2_next_insn (2),
			 GET_CODE (operands[2]) == PLUS
			 ? CCGOCmode : CCNOmode)) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_2823 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27519;

 L27525: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  switch (GET_CODE (x1))
    {
    case STRICT_LOW_PART:
      goto L27526;
    case REG:
      goto L32692;
    default:
     break;
   }
 L27520: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L27521;
    }
 L27530: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x1))
    {
    case HImode:
      goto L32693;
    case SImode:
      goto L32694;
    case DImode:
      goto L32695;
    default:
      break;
    }
  goto L27892;

 L27526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L27527;
    }
  goto L27530;

 L27527: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (0)]
      && 
#line 17328 "../../gcc/config/i386/i386.md"
((GET_MODE (operands[0]) == QImode
    || GET_MODE (operands[0]) == HImode)
   && (! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2827 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27530;

 L32692: ATTRIBUTE_UNUSED_LABEL
  if (flags_reg_operand (x1, VOIDmode))
    {
      operands[0] = x1;
      goto L27797;
    }
  goto L27520;

 L27797: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (compare_operator (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L27798;
    }
  x1 = XEXP (x0, 0);
  goto L27520;

 L27798: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[2] = x2;
      goto L27799;
    }
  x1 = XEXP (x0, 0);
  goto L27520;

 L27799: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, VOIDmode))
    {
      operands[3] = x2;
      goto L27800;
    }
  x1 = XEXP (x0, 0);
  goto L27520;

 L27800: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17546 "../../gcc/config/i386/i386.md"
((((!TARGET_FUSE_CMP_AND_BRANCH || optimize_insn_for_size_p ())
     && incdec_operand (operands[3], GET_MODE (operands[3])))
    || (!TARGET_FUSE_CMP_AND_BRANCH
	&& INTVAL (operands[3]) == 128))
   && ix86_match_ccmode (insn, CCGCmode)
   && peep2_reg_dead_p (1, operands[2])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2857 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27520;

 L27521: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const0_operand (x1, VOIDmode))
    {
      operands[1] = x1;
      goto L27522;
    }
  x1 = XEXP (x0, 0);
  goto L27530;

 L27522: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17317 "../../gcc/config/i386/i386.md"
(GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
   && (! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   && GENERAL_REG_P (operands[0])
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2826 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 0);
  goto L27530;

 L32693: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L27531;
    }
  goto L27892;

 L27531: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)]
      && 
#line 17339 "../../gcc/config/i386/i386.md"
((optimize_insn_for_size_p () || TARGET_MOVE_M1_VIA_OR)
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2828 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27892;

 L32694: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L27543;
    }
  goto L27892;

 L27543: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode)
    goto L32696;
 L27535: ATTRIBUTE_UNUSED_LABEL
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)]
      && 
#line 17339 "../../gcc/config/i386/i386.md"
((optimize_insn_for_size_p () || TARGET_MOVE_M1_VIA_OR)
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2829 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27892;

 L32696: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L27544;
    case SUBREG:
      goto L32699;
    case MULT:
      goto L27566;
    default:
     break;
   }
  goto L27535;

 L27544: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L27545;
  goto L27535;

 L27545: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_nonmemory_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L27546;
    }
  goto L27535;

 L27546: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17355 "../../gcc/config/i386/i386.md"
(peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2831 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 1);
  goto L27535;

 L32699: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x1, 1) == 0)
    goto L27558;
  goto L27535;

 L27558: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode)
    goto L32700;
  goto L27535;

 L32700: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    case PLUS:
      goto L27559;
    case MULT:
      goto L27581;
    default:
     break;
   }
  goto L27535;

 L27559: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L27560;
    }
  goto L27535;

 L27560: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (nonmemory_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L27561;
    }
  goto L27535;

 L27561: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17363 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && peep2_regno_dead_p (0, FLAGS_REG)
   && REGNO (operands[0]) == REGNO (operands[1])))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2833 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 1);
  goto L27535;

 L27581: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      operands[1] = x3;
      goto L27582;
    }
  goto L27535;

 L27582: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[2] = x3;
      goto L27583;
    }
  goto L27535;

 L27583: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17384 "../../gcc/config/i386/i386.md"
(TARGET_64BIT
   && exact_log2 (INTVAL (operands[2])) >= 0
   && REGNO (operands[0]) == REGNO (operands[1])
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2836 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 1);
  goto L27535;

 L27566: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L27567;
  goto L27535;

 L27567: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, SImode))
    {
      operands[1] = x2;
      goto L27568;
    }
  goto L27535;

 L27568: ATTRIBUTE_UNUSED_LABEL
  if (
#line 17374 "../../gcc/config/i386/i386.md"
(exact_log2 (INTVAL (operands[1])) >= 0
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2834 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 1);
  goto L27535;

 L32695: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L27550;
    }
  goto L27892;

 L27550: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode)
    goto L32702;
 L27539: ATTRIBUTE_UNUSED_LABEL
  if (x1 == const_int_rtx[MAX_SAVED_CONST_INT + (-1)]
      && (
#line 17339 "../../gcc/config/i386/i386.md"
((optimize_insn_for_size_p () || TARGET_MOVE_M1_VIA_OR)
   && peep2_regno_dead_p (0, FLAGS_REG)) && 
#line 762 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2830 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27892;

 L32702: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x1))
    {
    case PLUS:
      goto L27551;
    case MULT:
      goto L27573;
    default:
     break;
   }
  goto L27539;

 L27551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L27552;
  goto L27539;

 L27552: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (x86_64_nonmemory_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L27553;
    }
  goto L27539;

 L27553: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17355 "../../gcc/config/i386/i386.md"
(peep2_regno_dead_p (0, FLAGS_REG)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2832 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 1);
  goto L27539;

 L27573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, operands[0]))
    goto L27574;
  goto L27539;

 L27574: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (const_int_operand (x2, DImode))
    {
      operands[1] = x2;
      goto L27575;
    }
  goto L27539;

 L27575: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17374 "../../gcc/config/i386/i386.md"
(exact_log2 (INTVAL (operands[1])) >= 0
   && peep2_regno_dead_p (0, FLAGS_REG)) && 
#line 765 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 0;
      tem = gen_peephole2_2835 (insn, operands);
      if (tem != 0)
        return tem;
    }
  x1 = XEXP (x0, 1);
  goto L27539;

 L27893: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == PARALLEL
      && XVECLEN (x0, 0) == 2)
    goto L27894;
  goto L27585;

 L27894: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET)
    goto L27895;
  goto L27585;

 L27895: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      operands[0] = x2;
      goto L27896;
    }
  goto L27585;

 L27896: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == ASHIFT)
    goto L27897;
  goto L27585;

 L27897: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[1] = x3;
      goto L27898;
    }
  goto L27585;

 L27898: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, VOIDmode))
    {
      operands[2] = x3;
      goto L27899;
    }
  goto L27585;

 L27899: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER)
    goto L27900;
  goto L27585;

 L27900: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L27901;
  goto L27585;

 L27901: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 2)
    goto L27902;
  goto L27585;

 L27902: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L27903;
  goto L27585;

 L27903: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, VOIDmode))
    {
      operands[3] = x3;
      goto L27904;
    }
  goto L27585;

 L27904: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == PLUS)
    goto L27905;
  goto L27585;

 L27905: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[0]))
    goto L27906;
  goto L27585;

 L27906: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (x86_64_general_operand (x4, VOIDmode))
    {
      operands[4] = x4;
      goto L27907;
    }
  goto L27585;

 L27907: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CLOBBER)
    goto L27908;
  goto L27585;

 L27908: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode)
    goto L32704;
  goto L27585;

 L32704: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == REG)
    goto L32706;
  goto L27585;

 L32706: ATTRIBUTE_UNUSED_LABEL
  if (XINT (x3, 0) == 17)
    goto L32708;
  goto L27585;

 L32708: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17657 "../../gcc/config/i386/i386.md"
(IN_RANGE (INTVAL (operands[2]), 1, 3)
   /* Validate MODE for lea.  */
   && ((!TARGET_PARTIAL_REG_STALL
	&& (GET_MODE (operands[0]) == QImode
	    || GET_MODE (operands[0]) == HImode))
       || GET_MODE (operands[0]) == SImode
       || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
   && (rtx_equal_p (operands[0], operands[3])
       || peep2_reg_dead_p (2, operands[0]))
   /* We reorder load and the shift.  */
   && !reg_overlap_mentioned_p (operands[0], operands[4])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == SImode)))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2868 (insn, operands);
      if (tem != 0)
        return tem;
    }
 L32709: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 17657 "../../gcc/config/i386/i386.md"
(IN_RANGE (INTVAL (operands[2]), 1, 3)
   /* Validate MODE for lea.  */
   && ((!TARGET_PARTIAL_REG_STALL
	&& (GET_MODE (operands[0]) == QImode
	    || GET_MODE (operands[0]) == HImode))
       || GET_MODE (operands[0]) == SImode
       || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
   && (rtx_equal_p (operands[0], operands[3])
       || peep2_reg_dead_p (2, operands[0]))
   /* We reorder load and the shift.  */
   && !reg_overlap_mentioned_p (operands[0], operands[4])) && 
#line 900 "../../gcc/config/i386/i386.md"
(Pmode == DImode)))
    {
      *_pmatch_len = 1;
      tem = gen_peephole2_2869 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto L27585;

 L32639: ATTRIBUTE_UNUSED_LABEL
  tem = peephole2_2 (x0, insn, _pmatch_len);
  if (tem != 0)
    return tem;
  goto L28328;

 L28329: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x0) == SET)
    goto L28330;
  goto ret0;

 L28330: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    case QImode:
      goto L32767;
    case HImode:
      goto L32768;
    case SImode:
      goto L32769;
    case DImode:
      goto L32770;
    default:
      break;
    }
  goto ret0;

 L32767: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, QImode))
    {
      operands[0] = x1;
      goto L28331;
    }
  goto ret0;

 L28331: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const_int_operand (x1, QImode))
    {
      operands[2] = x1;
      goto L28332;
    }
  goto ret0;

 L28332: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 3)
    goto L28333;
  goto ret0;

 L28333: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L28334;
  goto ret0;

 L28334: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28335;
  goto ret0;

 L28335: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == UNSPEC_VOLATILE
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 31)
    goto L28336;
  goto ret0;

 L28336: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (memory_operand (x4, QImode))
    {
      operands[1] = x4;
      goto L28337;
    }
  goto ret0;

 L28337: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[4] = x4;
      goto L28338;
    }
  goto ret0;

 L28338: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == SET)
    goto L28339;
  goto ret0;

 L28339: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L28340;
  goto ret0;

 L28340: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == QImode
      && GET_CODE (x3) == PLUS)
    goto L28341;
  goto ret0;

 L28341: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L28342;
  goto ret0;

 L28342: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[0]))
    goto L28343;
  goto ret0;

 L28343: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) == CLOBBER)
    goto L28344;
  goto ret0;

 L28344: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L28345;
  goto ret0;

 L28345: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L28346;
  goto ret0;

 L28346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L28347;
  goto ret0;

 L28347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == COMPARE)
    goto L28348;
  goto ret0;

 L28348: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28349;
  goto ret0;

 L28349: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, QImode))
    {
      operands[3] = x3;
      goto L28350;
    }
  goto ret0;

 L28350: ATTRIBUTE_UNUSED_LABEL
  if (
#line 473 "../../gcc/config/i386/sync.md"
(peep2_reg_dead_p (3, operands[0])
   && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
      == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   && !reg_overlap_mentioned_p (operands[0], operands[1])))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_3744 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32768: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, HImode))
    {
      operands[0] = x1;
      goto L28354;
    }
  goto ret0;

 L28354: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const_int_operand (x1, HImode))
    {
      operands[2] = x1;
      goto L28355;
    }
  goto ret0;

 L28355: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 3)
    goto L28356;
  goto ret0;

 L28356: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L28357;
  goto ret0;

 L28357: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28358;
  goto ret0;

 L28358: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == UNSPEC_VOLATILE
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 31)
    goto L28359;
  goto ret0;

 L28359: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (memory_operand (x4, HImode))
    {
      operands[1] = x4;
      goto L28360;
    }
  goto ret0;

 L28360: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[4] = x4;
      goto L28361;
    }
  goto ret0;

 L28361: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == SET)
    goto L28362;
  goto ret0;

 L28362: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L28363;
  goto ret0;

 L28363: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == HImode
      && GET_CODE (x3) == PLUS)
    goto L28364;
  goto ret0;

 L28364: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L28365;
  goto ret0;

 L28365: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[0]))
    goto L28366;
  goto ret0;

 L28366: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) == CLOBBER)
    goto L28367;
  goto ret0;

 L28367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L28368;
  goto ret0;

 L28368: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L28369;
  goto ret0;

 L28369: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L28370;
  goto ret0;

 L28370: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == COMPARE)
    goto L28371;
  goto ret0;

 L28371: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28372;
  goto ret0;

 L28372: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, HImode))
    {
      operands[3] = x3;
      goto L28373;
    }
  goto ret0;

 L28373: ATTRIBUTE_UNUSED_LABEL
  if (
#line 473 "../../gcc/config/i386/sync.md"
(peep2_reg_dead_p (3, operands[0])
   && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
      == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   && !reg_overlap_mentioned_p (operands[0], operands[1])))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_3745 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32769: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, SImode))
    {
      operands[0] = x1;
      goto L28377;
    }
  goto ret0;

 L28377: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const_int_operand (x1, SImode))
    {
      operands[2] = x1;
      goto L28378;
    }
  goto ret0;

 L28378: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 3)
    goto L28379;
  goto ret0;

 L28379: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L28380;
  goto ret0;

 L28380: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28381;
  goto ret0;

 L28381: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == UNSPEC_VOLATILE
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 31)
    goto L28382;
  goto ret0;

 L28382: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (memory_operand (x4, SImode))
    {
      operands[1] = x4;
      goto L28383;
    }
  goto ret0;

 L28383: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[4] = x4;
      goto L28384;
    }
  goto ret0;

 L28384: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == SET)
    goto L28385;
  goto ret0;

 L28385: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L28386;
  goto ret0;

 L28386: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == SImode
      && GET_CODE (x3) == PLUS)
    goto L28387;
  goto ret0;

 L28387: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L28388;
  goto ret0;

 L28388: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[0]))
    goto L28389;
  goto ret0;

 L28389: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) == CLOBBER)
    goto L28390;
  goto ret0;

 L28390: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L28391;
  goto ret0;

 L28391: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L28392;
  goto ret0;

 L28392: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L28393;
  goto ret0;

 L28393: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == COMPARE)
    goto L28394;
  goto ret0;

 L28394: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28395;
  goto ret0;

 L28395: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, SImode))
    {
      operands[3] = x3;
      goto L28396;
    }
  goto ret0;

 L28396: ATTRIBUTE_UNUSED_LABEL
  if (
#line 473 "../../gcc/config/i386/sync.md"
(peep2_reg_dead_p (3, operands[0])
   && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
      == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   && !reg_overlap_mentioned_p (operands[0], operands[1])))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_3746 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;

 L32770: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, DImode))
    {
      operands[0] = x1;
      goto L28400;
    }
  goto ret0;

 L28400: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (const_int_operand (x1, DImode))
    {
      operands[2] = x1;
      goto L28401;
    }
  goto ret0;

 L28401: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (1);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == PARALLEL
      && XVECLEN (x1, 0) == 3)
    goto L28402;
  goto ret0;

 L28402: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == SET)
    goto L28403;
  goto ret0;

 L28403: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28404;
  goto ret0;

 L28404: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == UNSPEC_VOLATILE
      && XVECLEN (x3, 0) == 2
      && XINT (x3, 1) == 31)
    goto L28405;
  goto ret0;

 L28405: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 0);
  if (memory_operand (x4, DImode))
    {
      operands[1] = x4;
      goto L28406;
    }
  goto ret0;

 L28406: ATTRIBUTE_UNUSED_LABEL
  x4 = XVECEXP (x3, 0, 1);
  if (const_int_operand (x4, SImode))
    {
      operands[4] = x4;
      goto L28407;
    }
  goto ret0;

 L28407: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == SET)
    goto L28408;
  goto ret0;

 L28408: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[1]))
    goto L28409;
  goto ret0;

 L28409: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode
      && GET_CODE (x3) == PLUS)
    goto L28410;
  goto ret0;

 L28410: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, operands[1]))
    goto L28411;
  goto ret0;

 L28411: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (rtx_equal_p (x4, operands[0]))
    goto L28412;
  goto ret0;

 L28412: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) == CLOBBER)
    goto L28413;
  goto ret0;

 L28413: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == CCmode
      && GET_CODE (x3) == REG
      && XINT (x3, 0) == 17)
    goto L28414;
  goto ret0;

 L28414: ATTRIBUTE_UNUSED_LABEL
  tem = peep2_next_insn (2);
  x1 = PATTERN (tem);
  if (GET_CODE (x1) == SET)
    goto L28415;
  goto ret0;

 L28415: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == REG
      && XINT (x2, 0) == 17)
    goto L28416;
  goto ret0;

 L28416: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == CCZmode
      && GET_CODE (x2) == COMPARE)
    goto L28417;
  goto ret0;

 L28417: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, operands[0]))
    goto L28418;
  goto ret0;

 L28418: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (const_int_operand (x3, DImode))
    {
      operands[3] = x3;
      goto L28419;
    }
  goto ret0;

 L28419: ATTRIBUTE_UNUSED_LABEL
  if ((
#line 473 "../../gcc/config/i386/sync.md"
(peep2_reg_dead_p (3, operands[0])
   && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
      == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
   && !reg_overlap_mentioned_p (operands[0], operands[1])) && 
#line 759 "../../gcc/config/i386/i386.md"
(TARGET_64BIT)))
    {
      *_pmatch_len = 2;
      tem = gen_peephole2_3747 (insn, operands);
      if (tem != 0)
        return tem;
    }
  goto ret0;
 ret0:
  return 0;
}

